SAFE Logo
CodeMatch Detailed Report
Version: 5.7.2 | Date: 08/27/16 | Time: 18:43:56

SCORE

SETTINGS
Compare file 1: Z:\Zeidman Consulting\projects\DOS and CPM\code\CHM\CPM\1.3\ASM.asm
To file 2: Z:\Zeidman Consulting\projects\DOS and CPM\code\CHM\CPM\1.3\ASM.asm
Links to results: Matching Statements
Matching Comments and Strings
Matching Instruction Sequences
Matching Identifiers
Partially Matching Identifiers
Score
RESULTS
Matching Statements
File1 Line# File2 Line# Statement
22ORG 100H
33ENDA EQU 20F0H
4
112
4
112
BDOS EQU 5H
55LXI SP, ENDMOD
66LHLD BDOS+1
77SHLD SYMAX
8
331
821
1253
1631
2094
8
331
821
1253
1631
2094
JMP ENDMOD
11
840
1264
1636
2041
2685
11
840
1264
1636
2041
2685
PBMAX EQU 120
12
165
12
165
PBUFF:
1313DS PBMAX
14
163
14
163
PBP:
15
19
23
40
73
81
83
140
143
833
835
837
1311
2099
2107
2109
2279
3552
15
19
23
40
73
81
83
140
143
833
835
837
1311
2099
2107
2109
2279
3552
DS 1
1818TOKEN:
2020VALUE:
21
30
36
42
44
48
71
2277
3548
3550
21
30
36
42
44
48
71
2277
3548
3550
DS 2
2222ACCLEN:
24
94
847
1271
1643
2048
2692
24
94
847
1271
1643
2048
2692
ACMAX EQU 64
2525ACCUM:
2626DS ACMAX
2929EVALUE:
3333SYTOP:
34
46
34
46
DW ENDA
3535SYMAX:
3939PASS:
4141FPC:
4343ASPC:
4545SYBAS:
4747SYADR:
4949ENDMOD EQU ($ AND 0FF00H)+100H
5555ORG 206H
5656BOOT EQU SOCH
5858JMP INIT
5959JMP SETUP
6060JMP GNC
6161JMP PNC
62
771
62
771
JMP PNB
6363JMP PCHAR
6464JMP PCON
6565JMP WOBUFF
6666JMP PERR
6767JMP DHEX
68
1567
3363
68
1567
3363
JMP EOR
7070BPC:
7272DBL:
7474DBUFF:
7575DS 16
7878CDISK DS 1
7979ADISK DS 1
8080PDISK:
8282HDISK:
8787QBMAX EQU 120
8888QBUFF EQU 10CH
8989QBP EQU QBUFF+QBMAX
9191TOKEN EQU QBP+1
9292VALUE EQU TOKEN+l
93
846
1270
1642
2047
2691
93
846
1270
1642
2047
2691
ACCLEN EQU VALUE+2
95
848
1272
1644
2049
2693
95
848
1272
1644
2049
2693
ACCUM EQU ACCLEN+1
97
850
1274
1646
2051
2695
97
850
1274
1646
2051
2695
EVALUE EQU ACCUM+ACMAX
99
852
1276
1648
2053
2697
99
852
1276
1648
2053
2697
SYTOP EQU EVALUE+2
100
853
1277
1649
2054
2698
100
853
1277
1649
2054
2698
SYMAX EQU SYTOP+2
102
855
1279
1651
2056
2700
102
855
1279
1651
2056
2700
PASS EQU SYMAX+2
103
856
1280
1652
2057
2701
103
856
1280
1652
2057
2701
FPC EQU PASS+1
104
857
1281
1653
2702
104
857
1281
1653
2702
ASPC EQU FPC+2
106
879
1301
1672
2027
2722
106
879
1301
1672
2027
2722
CR EQU 0DH
107
880
2723
107
880
2723
LF EQU 0AH
108
881
2724
108
881
2724
EOF EQU 1AH
113113READC EQU 1
114114WRITC EQU 2
115115REDYC EQU 11
116116SELECT EQU 14
117117OPENF EQU 15
118118CLOSF EQU 16
119119DELEF EQU 19
120120READF EQU 20
121121WRITF EQU 21
122122MAKEF EQU 22
123123CSEL EQU 25
124124SETDM EQU 26
127127NSB EQU 8
128128NPB EQU 6
129129NHB EQU 6
131131SSIZE EQU NSB*128
132132PSIZE EQU NPB*128
133133ESIZE EQU NHB*128
136136SCB:
137
146
152
137
146
152
DS 9
139139SCBR:
141
148
154
141
148
154
DS 19
142142SCBCR:
145145PCB:
147
153
147
153
DB , 0
149
155
149
155
DB 0
151151HCB:
158158SBP:
159159DW SSIZE
160160SBUFF:
161161DS SSIZE
164
169
164
169
DW 0
166166DS PSIZE
168168HBP:
170170HBUFF:
171171DS HSIZE
172172FCB EQU SCH
173173FNM EQU 1
174174FLN EQU 9
175175DUFF EQU 80H
177177SEL:
178178LXI H, CDISK
179
1178
1462
1475
179
1178
1462
1475
CMP M
181
216
391
460
535
743
780
906
943
951
1382
1384
1416
1547
1552
1559
1561
1584
2149
2551
3350
3474
181
216
391
460
535
743
780
906
943
951
1382
1384
1416
1547
1552
1559
1561
1584
2149
2551
3350
3474
MOV M, A
182
558
899
1602
1886
1951
2249
2437
2520
2552
3045
182
558
899
1602
1886
1951
2249
2437
2520
2552
3045
MOV E, A
183183MVI C, SELECT
184
230
240
253
288
380
501
559
184
230
240
253
288
380
501
559
CALL BDOS
187187SCNP:
188
202
217
393
407
415
462
491
537
590
606
798
940
1162
1165
1383
1385
1400
1411
1412
1421
1422
1451
1467
1470
1471
1472
1479
1489
1526
1533
1546
1549
1558
1560
1579
1580
1589
1590
1605
1606
1607
1616
1623
1898
1909
1917
1963
1974
1982
2130
2172
2190
2365
2474
2826
2865
3051
3351
3446
188
202
217
393
407
415
462
491
537
590
606
798
940
1162
1165
1383
1385
1400
1411
1412
1421
1422
1451
1467
1470
1471
1472
1479
1489
1526
1533
1546
1549
1558
1560
1579
1580
1589
1590
1605
1606
1607
1616
1623
1898
1909
1917
1963
1974
1982
2130
2172
2190
2365
2474
2826
2865
3051
3351
3446
INX H
189
199
201
419
480
489
588
615
704
797
931
947
1164
1181
1413
1423
1438
1581
1591
1916
1981
2116
2122
2137
2157
2433
2442
2525
2533
2547
2556
3317
189
199
201
419
480
489
588
615
704
797
931
947
1164
1181
1413
1423
1438
1581
1591
1916
1981
2116
2122
2137
2157
2433
2442
2525
2533
2547
2556
3317
MOV A, M
191191JZ SCNP0
194194SCNP0:
195195LDA CDISK
198198PCON:
200
206
441
577
200
206
441
577
CALL PCHAR
203
889
1005
1209
2408
3191
3268
203
889
1005
1209
2408
3191
3268
CPI CR
204204JNZ PCON
205
600
812
916
205
600
812
916
MVI A, LF
209209FNAME:
210210LXI D, FCB
211211MVI B, FLN
212212FNAM0:
213
390
1474
1538
1551
3347
213
390
1474
1538
1551
3347
LDAX D
215
286
215
286
JZ FNERR
218
392
492
1478
1550
3352
218
392
492
1478
1550
3352
INX D
219
398
509
1386
1402
1480
1553
2861
219
398
509
1386
1402
1480
1553
2861
DCR B
220220JNZ FNAM0
223223INIT:
224
1497
224
1497
LXI H
225
235
244
258
348
427
515
674
1566
3326
3360
225
235
244
258
348
427
515
674
1566
3326
3360
CALL PCON
226226JMP SET0
228228OPEN:
229229MVI C
231
241
254
231
241
254
CPI 255
234234LXI H, ERROP
236
245
259
349
428
675
236
245
259
349
428
675
JMP BOOT
238238CLOSE:
239239MVI C, CLOSF
243243LXI H, ERRCL
247247DELETE:
248248MVI C, DELEF
249249JMP BDOS
251251MAKE:
252252MVI C, MAKEF
257257LXI H, ERRMA
261261SELA:
262262LDA ADISK
263
275
280
263
275
280
CALL SEL
266266NPR:
267
274
434
572
267
274
434
572
LDA PDISK
273273SELP:
278278SELH:
279
316
636
665
697
279
316
636
665
697
LDA HDISK
283283SET0:
284284LDA FCB
287287MVI C, CSEL
289289STA CDISK
292292LXI H, FCB+FLN-1
293
295
297
293
295
297
CALL SCNP
294294STA ADISK
296296STA HDISK
298298STA PDISK
300300LXI H, SCB
301
308
322
301
308
322
CALL FNAME
303
623
659
303
623
659
CALL NPR
304304JZ NOPR
305305LXI H, PCB
306
307
320
321
363
377
414
447
499
522
556
1174
1233
1612
1879
1882
2637
2866
2906
2952
3022
3333
3451
3516
306
307
320
321
363
377
414
447
499
522
556
1174
1233
1612
1879
1882
2637
2866
2906
2952
3022
3333
3451
3516
PUSH H
309
470
661
309
470
661
CALL SELP
310
312
324
326
421
450
497
503
525
561
744
1614
1904
1922
1942
1969
1987
2007
3498
310
312
324
326
421
450
497
503
525
561
744
1614
1904
1922
1942
1969
1987
2007
3498
POP D
311
325
311
325
CALL DELETE
313
327
313
327
CALL MAKE
315315NOPR:
318318JZ NOHEX
319319LXI H, HCB
323
668
323
668
CALL SELH
330330NOHEX:
333333SETUP:
334334LXI H, SSIZE
335
372
416
335
372
416
SHLD SBP
336
778
788
805
924
950
1013
1060
1135
1380
1398
1557
1870
1943
2008
2225
2245
2286
2334
2419
2562
2736
336
778
788
805
924
950
1013
1060
1135
1380
1398
1557
1870
1943
2008
2225
2245
2286
2334
2419
2562
2736
XRA A
337337STA SCBR
338338STA SCBCR
339339STA DBL
340
370
340
370
CALL SELA
341
379
341
379
LXI D, SCB
342342CALL OPEN
346346FNERR:
347347LXI H, ERRFN
352352GCOMP:
353
725
1509
2213
2250
2370
2380
2390
3310
3367
3495
353
725
1509
2213
2250
2370
2380
2390
3310
3367
3495
MOV A, D
354
726
3368
354
726
3368
CMP H
356
722
782
790
1507
2216
2247
2373
2383
2393
3307
3370
3499
356
722
782
790
1507
2216
2247
2373
2383
2393
3307
3370
3499
MOV A, E
357
723
3371
357
723
3371
CMP L
360
886
360
886
GNC:
361
376
431
484
520
554
695
1175
1232
1881
1925
1990
2244
2267
2516
2863
3196
3246
3429
3507
361
376
431
484
520
554
695
1175
1232
1881
1925
1990
2244
2267
2516
2863
3196
3246
3429
3507
PUSH B
362
446
485
498
521
555
701
1880
1888
1953
3494
3496
362
446
485
498
521
555
701
1880
1888
1953
3494
3496
PUSH D
364
413
364
413
LHLD SBP
365365LXI D
366
466
541
366
466
541
CALL GCOMP
367367JNZ GNC2
371
471
1158
1184
1390
2161
2284
2424
2601
2742
3026
3390
371
471
1158
1184
1390
2161
2284
2424
2601
2742
3026
3390
LXI H, 0
373373MVI B, NSB
374374LXI H, SBUFF
375
908
375
908
GNC0:
378378MVI C, READF
381
417
420
449
502
524
560
1202
1235
2254
2640
2868
2909
2959
3024
3340
3454
3501
3519
381
417
420
449
502
524
560
1202
1235
2254
2640
2868
2909
2959
3024
3340
3454
3501
3519
POP H
382
422
452
504
526
562
746
1201
1236
1928
1993
2535
2540
2869
3200
3258
3439
3510
382
422
452
504
526
562
746
1201
1236
1928
1993
2535
2540
2869
3200
3258
3439
3510
POP B
383
505
584
641
705
791
1070
1087
1186
1931
1996
2158
2214
2322
2331
2434
2467
2502
2511
2518
2548
2627
2781
2880
3206
3319
3348
3393
3424
383
505
584
641
705
791
1070
1087
1186
1931
1996
2158
2214
2322
2331
2434
2467
2502
2511
2518
2548
2627
2781
2880
3206
3319
3348
3393
3424
ORA A
384
388
486
384
388
486
MVI C, 128
385385JNZ GNC1
387
487
387
487
LXI D, BUFF
389389MOV0:
394
408
493
1203
394
408
493
1203
DCR C
395395JNZ MOV0
399399JNZ GNC0
400400JMP GNC2
402402GNCl:
403
2469
403
2469
CPI 3
404404JNC FRERR
405405GNCE:
406406MVI M, EOF
409409JNZ GNCE
411411GNC2:
412412LXI D, SBUFF
418
459
534
741
904
941
1190
1448
1449
1502
1504
1604
1892
1895
1896
1906
1907
1915
1957
1960
1961
1971
1972
1980
2148
2151
2188
2298
2348
2441
2524
2532
2555
2823
2824
2897
3048
3049
3473
418
459
534
741
904
941
1190
1448
1449
1502
1504
1604
1892
1895
1896
1906
1907
1915
1957
1960
1961
1971
1972
1980
2148
2151
2188
2298
2348
2441
2524
2532
2555
2823
2824
2897
3048
3049
3473
DAD D
425425FRERR:
426426LXI H, ERRFR
430430PNC:
433
587
613
696
1409
1466
1544
1577
1936
2001
2266
2289
2856
3109
3421
433
587
613
696
1409
1466
1544
1577
1936
2001
2266
2289
2856
3109
3421
MOV B, A
436436JZ PNRET
439
591
699
1927
1992
2264
2287
2992
3425
3442
439
591
699
1927
1992
2264
2287
2992
3425
3442
MOV A, B
440440JNZ PNGO
442442JMP PNRET
445445PNGO:
448448CALL PNCF
451451PNRET:
455455PNCF:
456
627
456
627
LHLD PBP
458
473
903
1072
3472
458
473
903
1072
3472
LXI H, PBUFF
463463SHLD PBP
465465LXI H, PSIZE
472472SHLD PSP
474
662
474
662
LXI D, PCB
475475MVI B, NPS
478478WBUFF:
481
1007
2980
3287
3297
481
1007
2980
3287
3297
CPI EOF
488488WBUF0:
490490STAX D
494494JNZ WBUF0
500500MVI C, WRITF
506506JNZ FWERR
511
551
511
551
JMP WBUFF
513513FWERR:
514514LXI H, ERRFW
516516JMP EORC
519519PNB:
523523CALL PNBF
529529PNBF:
531
649
531
649
LHLD HBP
533
548
533
548
LXI H, HBUFF
538
547
538
547
SHLD HBP
540540LXI H, HSIZE
545545CALL SEDH
546546LXI H, D
549
669
549
669
LXI D, HCB
550550MVI B, NHB
553553PCHAR:
557557MVI C, WRITC
565565WOCHAR:
566
719
1176
2125
2263
2292
2498
2579
3224
566
719
1176
2125
2263
2292
2498
2579
3224
MOV C, A
567
632
567
632
CALL PNC
568568LDA QBUFF
576
1937
2002
2290
2506
2541
2573
3096
3132
3156
3231
576
1937
2002
2290
2506
2541
2573
3096
3132
3156
3231
MOV A, C
580580WOBUFF:
581581LDA QBP
582
602
614
582
602
614
LXI H, QBUFF
583583WOB0:
585585JZ WOBE
589
599
601
589
599
601
CALL WOCHAR
592
607
1545
1885
1950
2325
2342
2422
2475
2550
2853
592
607
1545
1885
1950
2325
2342
2422
2475
2550
2853
DCR A
593593JMP WOB0
595595WOBE:
596596STA QBP
598
810
598
810
MVI A, CR
603603MVI A, QBMAX
604604WOB2:
605
1073
2958
605
1073
2958
MVI M,
608608JNZ WOB2
612612PERR:
618
1534
2152
618
1534
2152
MOV M, B
622622EOR:
624
630
624
630
JZ EOPR
626626EOR2:
628
650
786
1430
2338
2797
2969
3208
628
650
786
1430
2338
2797
2969
3208
MOV A, L
629
651
1431
2381
2798
629
651
1431
2381
2798
ORA H
631
653
631
653
MVI A, EOF
633633JMP EOR2
635635EOPR:
638
652
638
652
JZ EORC
639639EOR0:
640640LDA DBL
642642CNZ WHEX
643
716
732
3445
643
716
732
3445
LHLD FPC
644
733
644
733
SHLD BPC
645
712
730
645
712
730
CALL WHEX
648648EOR1:
654
775
811
813
654
775
811
813
CALL PNB
655655JMP EOR1
658658EORC:
660660JZ EORPC
663
670
663
670
CALL CLOSE
664664EORPC:
667667JZ EORHC
672672EORHC:
673673LXI H, ENDA
677677TITL:
678
680
682
684
686
688
690
692
1569
678
680
682
684
686
688
690
692
1569
DB , CR
679679ERROP:
681681ERRMA:
683683ERRFN:
685685ERRFR:
687687ERRFW:
689689ERRCL:
691691PENDA:
694694DHEX:
700700JZ DHRET
703
736
776
703
736
776
LXI H, DBL
706706JZ DHEX3
709709CPI 16
710710JC DHEX1
713713JMP DHEX3
715715DHEX1:
718
781
718
781
LHLD BPC
720
1180
1520
2126
2168
720
1180
1520
2126
2168
MVI B, 0
721
1199
1522
1523
2128
2170
2269
721
1199
1522
1523
2128
2170
2269
DAD B
724724JNZ DHEX2
727727JZ DHEX4
729729DHEX2:
731731DHEX3:
735735DHEX4:
737
777
937
1445
1450
1488
1498
1622
1908
1973
2143
2189
2473
2825
3050
3469
737
777
937
1445
1450
1488
1498
1622
1908
1973
2143
2189
2473
2825
3050
3469
MOV E, M
738
939
2123
2124
2145
3318
3471
3502
738
939
2123
2124
2145
3318
3471
3502
INR M
739
900
938
1446
1499
1603
1887
1952
2144
2439
2471
2522
2553
2820
3046
3339
3470
739
900
938
1446
1499
1603
1887
1952
2144
2439
2471
2522
2553
2820
3046
3339
3470
MVI D, 0
740
795
740
795
LXI H, DBUFF
745745DHRET:
749749WRC:
755
759
1424
1582
1596
3483
3486
755
759
1424
1582
1596
3483
3486
ANI 0FH
756
760
756
760
CALL HEXC
762762ADD D
763
779
2252
763
779
2252
MOV D, A
766766HEXC:
767767ADI 90H
769769ACI 40H
773773WHEX:
774
1223
1228
2612
2619
2638
2930
2981
3255
3302
3508
3517
3525
3530
3535
3540
774
1223
1228
2612
2619
2638
2930
2981
3255
3302
3508
3517
3525
3530
3535
3540
MVI A,
783
785
787
789
799
807
783
785
787
789
799
807
CALL WRC
784
2335
2879
3205
784
2335
2879
3205
MOV A, H
792792JZ WHEX1
796796WHEX0:
800
2438
2521
800
2438
2521
DCR E
801801JNZ WHEX0
804804WHEX1:
806806SUB D
818
1628
1948
2013
2643
818
1628
1948
2013
2643
ENDMOD EQU ($ AND 0FFE0H)+20H
820820ORG 1100H
822822JMP INITS
823823JMP SCAN
827
1247
2019
2652
827
1247
2019
2652
IOMOD EQU 200H
828828GNCF EQU IOMOD+6H
829
2660
829
2660
WOBUFF EQU IOMOD+15H
830
2025
2661
830
2025
2661
PERR EQU IOMOD+18H
832832LASTC:
834834NEXTC:
836836STYPE:
841
1265
1637
2042
2686
841
1265
1637
2042
2686
PBUFF EQU 10CH
842
1266
1638
2043
2687
842
1266
1638
2043
2687
PBP EQU PBUFF+PBMAX
844844TOKEN EQU PEP+1
845
1269
1641
2046
2690
845
1269
1641
2046
2690
VALUE EQU TOKEN+1
860860IDEN EQU 1 IDENTIFIER
861
1287
1657
2062
2708
861
1287
1657
2062
2708
NUMB EQU 2
862
1288
1658
2063
2709
862
1288
1658
2063
2709
STRNG EQU 3
863
1289
1659
2064
2710
863
1289
1659
2064
2710
SPECL EQU 4
865
1291
1366
1661
2066
2712
865
1291
1366
1661
2066
2712
PLABT EQU 0001B
866
1292
1367
1662
2067
2713
866
1292
1367
1662
2067
2713
DLABT EQU 0010B
867
1293
1368
1663
2068
2714
867
1293
1368
1663
2068
2714
EQUT EQU 0100B
868
1294
1369
1664
2069
2715
868
1294
1369
1664
2069
2715
SETT EQU 0101B
869
1295
1370
1665
2070
2716
869
1295
1370
1665
2070
2716
MACT EQU 0110B
871
1297
1372
1667
2072
2718
871
1297
1372
1667
2072
2718
EXTT EQU 1000B
872
1298
1373
1668
2073
2719
872
1298
1373
1668
2073
2719
REFT EQU 1011B
873
1299
1374
1669
2074
2720
873
1299
1374
1669
2074
2720
GLBT EQU 1100B
875875BINV EQU 2
876876OCTV EQU 8
877877DECV EQU 10
878878HEXV EQU 16
882882TAB EQU 09H
887887CALL GNCF
890
892
890
892
JZ GNC0
891
1027
1066
2937
3285
891
1027
1066
2937
3285
CPI LF
895895LDA PBP
896896CPI PBMAX
897897JNC GNC0
901
1425
1944
2009
2578
901
1425
1944
2009
2578
INR A
902
915
920
1075
902
915
920
1075
STA PBP
912912INITS:
913
1015
913
1015
CALL ZERO
914
995
1000
1061
1136
914
995
1000
1061
1136
STA NEXTC
917
1086
917
1086
STA LASTC
918918CALL WOBUFF
919
1074
1541
2221
919
1074
1541
2221
MVI A, 16
923923ZERO:
925925STA ACCLEN
926
1134
1155
926
1134
1155
STA STYPE
929929SAVER:
930
1152
1160
1396
1437
1461
930
1152
1160
1396
1437
1461
LXI H, ACCLEN
932932CPI ACMAX
933933JC SAV1
934
2120
2140
934
2120
2140
MVI M, 0
935935CALL ERRO
936936SAV1:
942
955
966
975
989
1019
1057
1085
1120
1208
942
955
966
975
989
1019
1057
1085
1120
1208
LDA NEXTC
946946TDOLL:
954954NUMERIC:
957957CPI 10
960
971
979
960
971
979
ANI 1B
963963HEX:
964
985
1051
964
985
1051
CALL NUMERIC
968968CPI 6
974974LETTER:
977977CPI 26
982982ALNUM:
983
1045
983
1045
CALL LETTER
988988TRANS:
990990CPI OR 1100000B
992992CPI ( OR 1100000B)+1
994994ANI 10111110
998998GNCN:
999999CALL GNC
10011001CALL TRANS
10041004EOLT:
10121012SCAN:
1014
1080
1014
1080
STA TOKEN
10181018DEBL:
10201020CPI TAB
10211021JZ DEB0
10231023JZ DEB1
1025
1028
1025
1028
JNZ DEB2
1026
1141
1026
1141
LDA LASTC
10301030DEB1:
1031
1040
1089
1213
1031
1040
1089
1213
CALL GNCN
10321032CALL EOLT
10331033JZ FINDL
10341034JMP DEB1
10351035DEB2:
10381038JNZ FINDL
10391039DEB0:
10411041JMP DEBL
10441044FINDL:
10461046JZ FIND0
10471047MVI A, IDEN
1048
1054
1063
1048
1054
1063
JMP STOKEN
10501050FIND0:
10521052JZ FIND1
10531053MVI A, NUMB
10561056FIND1:
10591059JNZ FIND2
10621062MVI A, STRNG
10651065FIND2:
10671067JNZ FIND3
1069
2780
3392
3423
1069
2780
3392
3423
LDA PASS
10711071CNZ WOBUFF
10761076FIND3:
10771077MVI A, SPECL
10791079STOKEN:
10841084SCTOK:
10881088CNZ SAVER
1090
1096
2403
2461
2594
2751
2805
2849
2933
2976
3183
3247
3264
3281
1090
1096
2403
2461
2594
2751
2805
2849
2933
2976
3183
3247
3264
3281
LDA TOKEN
1091
2404
2595
2754
2806
2934
2977
3184
3248
3265
3282
1091
2404
2595
2754
2806
2934
2977
3184
3248
3265
3282
CPI SPECL
1093
2462
2850
1093
2462
2850
CPI STRNG
10941094CNZ TRANS
10951095LXI H, NEXTC
1098
2766
2986
1098
2766
2986
CPI IDEN
10991099JNZ SCT2
1102
1114
1102
1114
CALL TDOLL
1103
1115
1103
1115
JZ SCTOK
11041104CALL ALNUM
1107
1216
1107
1216
JMP SCTOK
11091109SCT2:
1110
2483
2752
1110
2483
2752
CPI NUMB
11111111JNZ SCT3
11161116CALL HEX
1117
1212
1117
1212
JNZ SCTOK
11221122JZ NOCT
11241124JNZ NUM2
11261126NOCT:
11271127MVI A, OCTV
11281128JMP SSTYP
11291129NUM2:
11311131JNZ NUM3
11321132MVI A, HEXV
11331133SSTYP:
11371137JMP NCON
11401140NUM3:
11431143JNZ NUM4
11441144MVI A, BINV
11451145JMP SSTY1
11471147NUM4:
11491149MVI A, DECV
11501150JNZ SSTY2
11511151SSTY1:
1153
2165
2166
2253
2436
1153
2165
2166
2253
2436
DCR M
11541154SSTY2:
11571157NCON:
1159
1200
1159
1200
SHLD VALUE
1161
1519
1525
2167
2171
1161
1519
1525
2167
2171
MOV C, M
11631163CLOP:
11671167JNC CLOP1
11691169JMP CLOP2
11711171CLOP1:
11721172SUI -10
11731173CLOP2:
11771177LXI H, STYPE
1179
3214
1179
3214
CNC ERRV
1182
2485
1182
2485
LHLD VALUE
11851185CLOP3:
11871187JZ CLOP4
11891189JNC TTWO
11911191TTWO:
1193
1914
1979
2186
2258
2301
2324
1193
1914
1979
2186
2258
2301
2324
DAD H
11951195JMP CLOP3
11981198CLOP4:
12041204JNZ CLOP
12071207SCT3:
12101210JZ ERRO
1221
3514
1221
3514
ERRV:
1224
1229
3526
3531
3536
1224
1229
3526
3531
3536
JMP ERR
1226
1568
1226
1568
ERRO:
1231
3542
1231
3542
ERR:
1234
2613
2639
3256
3303
3509
3518
3543
1234
2613
2639
3256
3303
3509
3518
3543
CALL PERR
12401240ENDMOD:
12411241EQU ($ AND 0FF00H) + 100H
12461246ORG 1340H
1248
2659
1248
2659
PCON EQU IOMOD+12H
1249
2663
1249
2663
EOR EQU IOMOD+1EH
12541254JMP INISY
12551255JMP LOOKUP
12561256JMP FOUND
12571257JMP ENTER
12581258JMP SETTY
12591259JMP GETTY
12601260JMP SETVAL
12611261JMP GETVAL
1268
1640
2045
2689
1268
1640
2045
2689
TOKEN EQU PBP+1
12821282SYBAS EQU ASPC+2
1283
2704
1283
2704
SYADR EQU SYBAS+2
1286
1656
2061
2707
1286
1656
2061
2707
IDEN EQU 1
13041304FIXD EQU 5
13061306HSIZE EQU 128
13071307HMASK EQU HSIZE-1
13081308HASHT:
13091309DS HSIZE*2
13101310HASHC:
13771377INISY:
1378
1447
1521
1378
1447
1521
LXI H, HASHT
13791379MVI B, HSIZE
13811381INIO:
13871387JNZ INIO
1391
1455
1501
3381
1391
1455
1501
3381
SHLD SYADR
13951395CHASH:
1397
1527
1918
2864
1397
1527
1918
2864
MOV B, M
13991399CH0:
14011401ADD M
14031403JNZ CH0
14041404ANI HMASK
14051405STA HASHC
14081408SETLN:
1410
1420
1429
1469
1487
1516
1578
1588
1601
2800
1410
1420
1429
1469
1487
1516
1578
1588
1601
2800
LHLD SYADR
1414
1576
1414
1576
ANI 0F0H
1415
1583
1935
2000
2294
3098
3108
3112
3117
3134
3144
3149
3158
3163
3233
1415
1583
1935
2000
2294
3098
3108
3112
3117
3134
3144
3149
3158
3163
3233
ORA B
14191419GETLN:
14281428FOUND:
14341434LOOKUP:
14351435CALL CHASH
1439
1539
2217
1439
1539
2217
CPI 17
14401440JC LENOK
14411441MVI M, 16
14421442LENOK:
1444
1518
1444
1518
LXI H, HASHC
1452
1899
1964
2173
2191
2827
3052
1452
1899
1964
2173
2191
2827
3052
MOV H, M
1453
2192
2828
3053
1453
2192
2828
3053
MOV L, E
14541454LOOK0:
1456
2609
2775
3382
1456
2609
2775
3382
CALL FOUND
1460
1600
1460
1600
CALL GETLN
1463
1476
1463
1476
JNZ LCOMP
14731473LOOK1:
14811481JNZ LOOK1
14861486LCOMP:
1490
1624
1897
1910
1962
1975
2477
1490
1624
1897
1910
1962
1975
2477
MOV D, M
14921492JMP LOOK0
14951495ENTER:
1500
3329
1500
3329
LHLD SYTOP
15031503LXI D, FIXD
1506
3334
1506
3334
LHLD SYMAX
1508
2226
2262
3308
1508
2226
2262
3308
SUB L
1510
2229
2265
3311
1510
2229
2265
3311
SBB H
15121512JNC OVERER
15151515SHLD SYTOP
1528
1617
2131
1528
1617
2131
MOV M, D
15291529DCX H
1530
1615
2129
2530
1530
1615
2129
2530
MOV M, E
15321532MOV M, C
15371537LXI D, ACCLEN
15401540JC ENT1
15431543ENT1:
15481548ENT2:
15541554JNZ ENT2
15641564OVERER:
15651565LXI H, ERRO
15711571SETTY:
15871587GETTY:
15991599VALADR:
16101610SETVAL:
1613
1621
1613
1621
CALL VALADR
16201620GETVAL:
16301630ORG 15A0H
16321632JMP BSEAR
16331633JMP BGET
1678
2078
1678
2078
XBASE EQU 0
1680
2080
2728
1680
2080
2728
RT EQU 16
1681
2081
2729
1681
2081
2729
PT EQU RT+1
1682
2082
2731
1682
2082
2731
OBASE EQU PT+1
1683168301 EQU OBASE+1
1684168402 EQU OBASE+2
1685168503 EQU OBASE+3
1686168604 EQU OBASE+4
1687168705 EQU OBASE+5
1688168806 EQU OBASE+6
1689168907 EQU OBASE+7
1690169008 EQU OBASE+8
1691169109 EQU OBASE+9
16921692010 EQU OBASE+10
16931693011 EQU OBASE+11
16941694012 EQU OBASE+12
16951695013 EQU OBASE+13
16961696014 EQU OBASE+14
16971697015 EQU OBASE+15
17001700X1 EQU XBASE
17011701X2 EQU XBASE+1
17021702X3 EQU XBASE+2
17031703X4 EQU XBASE+3
17041704X5 EQU XBASE+4
17051705X6 EQU XBASE+5
17061706X7 EQU XBASE+6
17071707X8 EQU XBASF+7
17081708X9 EQU XBASE+8
17091709X10 EQU XBASF+9
17101710X11 EQU XBASE+10
17111711X12 EQU XBASE+11
17121712X13 EQU XBASE+12
17131713X14 EQU XBASE+13
17141714X15 EQU XBASE+14
17151715X16 EQU XBASE+15
17231723CINX:
17241724DW CHAR1
17251725DW CHAR2
17261726DW CHAR3
17271727DW CHAR4
17281728DW CHARS
17291729DW CHAR6
17311731CMAX EQU ($-CINX)/2-1
17331733CLEN:
17341734DB CHAR2-CHAR1
17351735DB (CHAR3-CHAR2)/2
17361736DB (CHAR4-CHAR3)/3
17371737DB (CHAR5-CHAR4)/4
17381738DB (CHAR6-CHAR5)/5
17401740TVINX:
17411741DW TV1
17421742DW TV2
17431743DW TV3
17441744DW TV4
17451745DW TV5
17481748CHAR1:
17491749DB CR,
17551755CHAR2:
17601760CHAR3:
17751775CHAR4:
17801780CHAR5:
17831783CHAR6:
17851785TV1:
17861786DB X16, 10, X13, 20
17871787DB X14, 30, X1, 80
17881788DB X6, 70
17891789DB X15, 10, X7, 70
17901790DB X2, 80, RT, 7
17911791DB RT, 0, RT, 1
17921792DB RT, 2, RT, 3
17931793DB RT, 4, RT, 5
1794
1801
1794
1801
DB RT, 6
17961796TV2:
17971797DB PT, 1, 01, 0F3H
17981798DB PT, 2, PT, 3
17991799DB 01, 0FBH, PT, 8
18001800DB 015, 0DBH, X11, 40
18041804TV3:
18051805DB 08, 0CEH, 011, 88H
18061806DB 011, 80H, 08, 0C6H
18071807DB 011, 0A0H, X10, 50
18081808DB 08, 0E6H, 01, 2FB
18091809DB 01, 3FH, 011, 0B8H
18101810DB 03, 0FEH, 01, 27H
18111811DB 03, 09H, 012, 05H
18121812DB 013, 0BH, PT, 4
18131813DB PT, 7, 01, 76H
18141814DB 012, 04H, 013, 03H
18151815DB 05, 0C3H, 010, 3AH
18161816DB 02, 01H, X3, 80
18171817DB 06, 40H, 07, 06H
18181818DB 01, 00H, X9, 60
18191819DB 011, 0B0H, PT, 10
18201820DB 08, 0F6H, 015, 0D3H
18211821DB 04, 0C1H, RT, 6
18221822DB 01, 17H, 01, 1FH
18231823DB 01, 0C9H, 01, 07H
18241824DB 01, 0FH, 014, 0C7H
18251825DB 011, 098H, 03, 0DEH
18261826DB PT, 11, X4, 80
18271827DB X5, 80, 010, 32H
18281828DB 01, 37H, 011, 90H
18291829DB 08, 0D6H, X12, 40
18301830DB 011, 0A8H, OS, 0EEH
18331833TV4:
18341834DB 05, 0CDH
18351835DB PT, 6, 09, 0AH
18361836DB 010, 02AH, 01, 0E9H
18371837DB 04, 0C5H, 010, 22H
18381838DB 01, 0F9H, 09, 02H
18391839DB 01, 0EBH, 01, 0E3H
18411841TV5:
18421842DB PT, 5, PT, 9
18431843DB PT, 12
18451845SUFTAS:
18481848BSEAR:
18561856UR EQU B
18571857LR EQU C
18581858SR EQU D
18591859MR EQU E
18601860SP1 EQU B
18611861SP1P EQU C
18621862KR EQU H
18641864MVI MR, 255
18651865INR UR
18661866MVI LR, 0
18691869NEXT:
18711871MOV A, UR
18721872ADD LR
18741874CMP MR
18751875JZ NMATCH
18781878MOV MR, A
18831883MOV SP1, SR
18841884MOV SP1P, SP1
1889
1954
1889
1954
CPI CMAX
1890
1955
1890
1955
JNC NGET
1891
1956
1891
1956
LXI H, CLEN
1893
1958
1893
1958
MOV UR, M
1894
1959
1894
1959
LXI H, CINX
1900
1965
1900
1965
MOV L, D
1901
1966
1901
1966
MOV SR, C
1902
1967
1902
1967
CALL BSEAR
1903
1968
1903
1968
JNZ SCASE
1905
1970
1905
1970
LXI H, TVINX
1912
1977
2184
2227
2340
2375
2385
2395
3309
1912
1977
2184
2227
2340
2375
2385
2395
3309
MOV L, A
1913
1978
2185
2590
1913
1978
2185
2590
MVI H, 0
1921
1986
1921
1986
SCASE:
1923
1988
1923
1988
CALL PREFIX
1926
1991
1926
1991
CALL SUFFIX
1938
2003
1938
2003
CMP A
1941
2006
1941
2006
NGET:
1983
2259
2282
2910
3455
1983
2259
2282
2910
3455
MOV B, H
20162016ORG 1860H
2020
2653
2020
2653
SCMOD EQU 1100H
2021
2654
2021
2654
SYMOD EQU 1340H
2022
2655
2022
2655
BMOD EQU 15A0H
2026
2666
2026
2666
SCAN EQU SCMOD+6H
2029
2669
2029
2669
LOOKUP EQU SYMOD+6H
20302030FOUND EQU LOOKUP+3
20312031ENTER EQU FOUND+3
20322032SETTY EQU ENTER+3
20332033GETTY EQU SETTY+3
20342034SETVAL EQU GETTY+3
20352035GETVAL EQU SETVAL+3
20372037BSEAR EQU BMOD+3
20382038BGET EQU BSEAR+3
20582058ASPC EQU PPC+2
20792079OPER EQU 15
20842084PLUS EQU 5
20852085MINUS EQU 6
20862086NOTF EQU 8
20872087LPAR EQU 12
20882088RPAR EQU 13
20892089OSMAX EQU 10
20902090VSMAX EQU 8*2
20952095JMP OPAND
20962096JMP MULF
20972097JMP DIVE
20982098UNARY:
21002100OPERV:
2101
2103
2101
2103
DS OSMAX
21022102HIERV:
21042104VSTACK:
21052105DS VSMAX
21062106OSP:
21082108VSP:
21132113STKV:
2115
2156
2115
2156
LXI H, VSP
21172117CPI VSMAX
21182118JC STKV0
2119
2141
2160
2220
2560
2600
2119
2141
2160
2220
2560
2600
CALL ERREX
21212121STKV0:
2127
2169
2127
2169
LXI H, VSTACK
21342134STKO:
2136
2432
2529
2546
2136
2432
2529
2546
LXI H, OSP
21382138CPI OSMAX
21392139JC STK01
21422142STK01:
2147
2440
2531
2554
2147
2440
2531
2554
LXI H, OPERV
2150
2523
2150
2523
LXI H, HIERV
21552155LODV1:
21592159JNZ LODOK
21642164LODOK:
21742174MOV L, C
21772177LODV2:
2178
2180
2358
2364
2178
2180
2358
2364
CALL LODV1
21832183APPLY:
21872187LXI D, OPTAB
2195
3056
2195
3056
OPTAB:
21962196DW MULOP
21972197DW DIVOP
21982198DW MODOP
21992199DW SHLOP
22002200DW SHROP
22012201DW ADDOP
22022202DW SUBOP
22032203DW NEGOP
22042204DW NOTOP
22052205DW ANDOP
22062206DW OROP
22072207DW XOROP
22082208DW ERREX
22112211SHFT:
2212
2234
2306
2346
2352
2369
2379
2389
2212
2234
2306
2346
2352
2369
2379
2389
CALL LODV2
22152215JNZ SHERR
22192219SHERR:
22242224NEGF:
2228
2256
2228
2256
MVI A, 0
2230
2337
2372
2382
2392
3312
2230
2337
2372
2382
2392
3312
MOV H, A
22332233DIVF:
22352235DIVE:
22402240SHLD DTEMP
2241
2272
2241
2272
LXI H, BNUM
22422242MVI M, 11H
22432243LXI B, 0
22462246DLOOP:
22572257ACI 0
22602260ADD L
22612261LHLD DTEMP
22682268JNC DSKIP
22712271DSKIP:
22742274JMP DLOOP
22762276DTEMP:
22782278BNUM:
22812281MULF:
22832283MOV C, L
22852285MUL0:
22932293JC MUL1
22962296JMP MUL2
22972297MUL1:
22992299MUL2:
23032303JMP MUL0
23052305MULOP:
23072307CALL MULF
2308
2313
2317
2349
2361
2376
2386
2308
2313
2317
2349
2361
2376
2386
JMP ENDOP
23102310DIVOP:
2311
2316
3341
2311
2316
3341
CALL DIVF
23152315MODOP:
23192319SHLOP:
2320
2329
2320
2329
CALL SHFT
23212321SHL0:
2323
2332
2323
2332
JZ ENDOP
23262326JMP SHL0
23282328SHROP:
23302330SHR0:
23432343JMP SHR0
23452345ADDOP:
23472347ADD0:
23512351SUBOP:
2354
2360
2354
2360
CALL NEGF
23552355JMP ADD0
23572357NEGOP:
23592359NEG0:
23632363NOTOP:
23662366JMP NEG0
23682368ANDOP:
23712371ANA H
23742374ANA L
23782378OROP:
23842384ORA L
23882388XOROP:
23912391XRA H
23942394XRA L
23972397ENDOP:
23982398JMP STKV
24022402ENDEXP:
2407
2597
2757
2808
2936
2979
3186
3251
3267
3284
2407
2597
2757
2808
2936
2979
3186
3251
3267
3284
LDA ACCUM
24172417OPAND:
24202420STA OSP
24212421STA VSP
2423
2505
2569
2629
2423
2505
2569
2629
STA UNARY
2425
2454
2425
2454
SHLD EVALUE
24272427OP0:
24282428CALL ENDEXP
24292429JNZ OP1
24312431EMPOP:
24352435JZ CHKVAL
2443
2534
2443
2534
CALL APPLY
24442444JMP EMPOP
24462446CHKVAL:
24472447LDA VSP
24482448CPI 2
2449
2583
2449
2583
CNZ ERREX
2450
2458
2921
2925
2966
3003
2450
2458
2921
2925
2966
3003
LDA PBUFF
24532453LHLD VSTACK
24572457OP1:
24602460JNZ GETOP
24632463JNZ OP3
2466
2852
2466
2852
LDA ACCLEN
2468
2503
2588
2468
2503
2588
CZ ERREX
24702470CNC ERREX
2472
2859
2472
2859
LXI H, ACCUM
24762476JZ OP2
24782478OP2:
2480
2486
2591
2602
2605
2480
2486
2591
2602
2605
JMP STNUM
24822482OP3:
24842484JNZ OP4
24882488OP4:
2489
2770
2988
2489
2770
2988
CALL BGET
24902490JNZ OP6
24922492CPI OPER+1
24932493JNC OP5
2497
2557
2497
2557
CPI LPAR
2499
2626
2499
2626
LDA UNARY
25002500JNZ OPER1
2504
2567
2504
2567
MVI A, 0FFH
25072507JMP OPER4
25102510OPER1:
25122512JNZ OPER6
25152515OPER2:
25172517LDA OSP
25192519JZ OPER3
25262526CMP B
25272527JC OPER3
2536
2580
2584
2536
2580
2584
JMP OPER2
25382538OPER3:
25422542CPI RPAR
25432543JNZ OPER4
25492549JZ LPERR
25582558JZ NLERR
25592559LPERR:
25612561NLERR:
25632563JMP OPER5
25652565OPER4:
25662566CALL STKO
25682568OPER5:
25702570JMP GETOP
25722572OPER6:
25742574CPI PLUS
25752575JZ GETOP
25762576CPI MINUS
25772577JNZ CHKNOT
25812581CHKNOT:
25822582CPI NOTF
25862586OP5:
2587
2815
2990
2587
2815
2990
CPI PT
25892589MOV L, B
25932593OP6:
25962596JNZ OP7
25992599JZ CURPC
26032603CURPC:
2604
2896
2951
3404
3415
3434
3490
2604
2896
2951
3404
3415
3434
3490
LHLD ASPC
260726070P7:
2608
2774
2608
2774
CALL LOOKUP
26102610JNZ FIDENT
2614
2779
2614
2779
CALL ENTER
26152615JMP FIDE0
26162616FIDENT:
2617
2787
3016
3397
3409
2617
2787
3016
3397
3409
CALL GETTY
2618
3215
3399
3410
2618
3215
3399
3410
ANI 111B
2620
2982
2620
2982
CZ PERR
26222622FIDE0:
2623
3413
2623
3413
CALL GETVAL
26252625STNUM:
26282628XRA ARREX
26302630CALL STKV
26322632GETOP:
2633
2749
2804
2848
2872
2932
2975
3035
3075
3197
3271
3280
3321
2633
2749
2804
2848
2872
2932
2975
3035
3075
3197
3271
3280
3321
CALL SCAN
26342634JMP OP0
26362636ERREX:
26502650ORG 1BA0H
26562656OPMOD EQU 1860H
26582658SETUP EQU IOMOD+3H
26622662DHEX EQU IOMOD+1BH
26652665INITS EQU SCMOD+3H
26682668INISY EQU SYMOD+3H
26702670FOUND EQU SYMOD+9H
26712671ENTER EQU SYMOD+0CH
26722672SETTY EQU SYMOD+0FH
26732673GETTY EQU SYMOD+12H
26742674SETVAL EQU SYMOD+15H
26752675GETVAL EQU SYMOD+18H
26772677BGET EQU BMOD+6H
26792679OPAND EQU OPMOD+3H
26802680MULF EQU OPMOD+6H
26812681DIVF EQU OPMOD+9H
27032703SVBAS EQU ASPC+2
27252725NBMAX EQU 16
27302730PENDIF EQU 5
27322732O1 EQU OBASE+1
27332733O15 EQU OBASE+15
27372737STA PASS
27382738CALL INISY
27392739RESTART:
27402740CALL INITS
27412741CALL SETUP
2743
2801
3027
3391
2743
2801
3027
3391
SHLD SYLAB
2744
2899
3007
3362
3447
2744
2899
3007
3362
3447
SHLD FPC
2745
2898
2954
2960
3006
3376
2745
2898
2954
2960
3006
3376
SHLD ASPC
2746
2928
2746
2928
SHLD EPC
27482748SCNEXT:
27502750SCN0:
2753
3286
3290
3296
2753
3286
3290
3296
JZ SCNEXT
27552755JNZ SCN1
2759
2923
2968
3005
2759
2923
2968
3005
JNZ CHEND
2761
2949
3013
3386
2761
2949
3013
3386
CALL SETLA
2762
2767
2935
2938
3266
2762
2767
2935
2938
3266
JNZ STERR
2763
2793
3291
3304
2763
2793
3291
3304
JMP CHEN1
27652765SCN1:
27712771JZ CHKPT
27762776JNZ LFOUN
2782
3417
2782
3417
CNZ ERRP
27832783JMP SETSY
27862786LFOUN:
27882788CPI MACT
27892789JNZ SETSY
2792
2945
2998
3032
2792
2945
2998
3032
CALL ERRN
27952795SETSY:
2796
3380
2796
3380
LHLD SYLAB
2799
3018
3400
2799
3018
3400
CNZ ERRL
2807
2810
2807
2810
JNZ SCN0
2811
3272
2811
3272
JMP SCNEXT
28142814CHKPT:
28162816JNZ CHKOT
28192819MOV E, B
28212821DCX D
28222822LXI H, PTTAB
28312831PTTAB:
28322832DW SDB
28332833DW SDS
28342834DW SDW
28352835DW SEND
28362836DW SENDIF
28372837DW SENDM
28382838DW SEQU
28392839DW SIF
28402840DW SMACRO
28412841DW SORG
28422842DW SSET
28432843DW STITLE
28452845SDB:
2846
2892
2903
2919
2955
2964
3008
3175
3263
3277
2846
2892
2903
2919
2955
2964
3008
3175
3263
3277
CALL FILAB
28472847SDB0:
28512851JNZ SDBC
28542854JZ SDBC
2857
2858
2857
2858
INR B
28602860SDB1:
28622862JZ SDB2
2867
2883
2908
2911
3074
3102
3124
3138
3167
3453
2867
2883
2908
2911
3074
3102
3124
3138
3167
3453
CALL FILHB
28702870JMP SDB1
28712871SDB2:
28732873JMP SDB3
28762876SDBC:
2877
3198
2877
3198
CALL OPAND
2878
3199
2878
3199
LHLD EVALUE
28812881CNZ ERBD
2882
2907
3452
2882
2907
3452
MOV B, L
28842884SDB3:
2885
2912
3176
2885
2912
3176
CALL SETAS
2886
2913
2886
2913
CALL DELIM
28882888JZ SDB0
2889
2900
2916
2961
2999
3010
3028
3036
3177
2889
2900
2916
2961
2999
3010
3028
3036
3177
JMP CHEND
28912891SDS:
2893
2920
3009
3322
2893
2920
3009
3322
CALL PADD
2894
2905
2924
2953
2965
3002
3021
3204
3241
2894
2905
2924
2953
2965
3002
3021
3204
3241
CALL EXP16
29022902SDW:
29042904SDW0:
29152915JZ SDW0
29182918SEND:
29272927JNZ SEND0
29292929SEND0:
29312931STA PBUFF
29392939JMP ENDAS
29412941SENDIF:
2942
2946
2995
2942
2946
2995
JMP POEND
29442944SENDM:
29482948SEQU:
2950
3014
2950
3014
JZ STERR
2956
3343
2956
3343
CALL PADDR
29572957LXI H, PBUFF+6
29632963SIF:
29712971JC CHEND
29742974SIF0:
29782978JNZ SIF1
2983
3288
3298
2983
3288
3298
JZ ENDAS
29842984JMP SIF0
29852985SIF1:
2987
2989
2991
2994
2987
2989
2991
2994
JNZ SIF0
29932993CPI PENDIF
29972997SMACRO:
30013001SORG:
30123012SSET:
30173017CPI SETT
30193019MVI A, SETT
3020
3403
3020
3403
CALL SETTY
30233023CALL SFTLA
3025
3405
3025
3405
CALL SETVAL
30313031STITLE:
30343034POEND:
30393039CHKOT:
30403040SUI 01
30413041CPI 015
30423042JNC STERR
30473047LXI H, OPTAB
30573057DW SSIMP
30583058DW SLXI
30593059DW SDAD
30603060DW SPUSH
30613061DW SJMP
30623062DW SMOV
30633063DW SMVI
30643064DW SACCI
30653065DW SLDAX
30663066DW SLHLD
30673067DW SACCR
30683068DW SINC
30693069DW SINX
30703070DW SRST
30713071DW SIN
30733073SSIMP:
3076
3082
3086
3104
3121
3126
3140
3169
3076
3082
3086
3104
3121
3126
3140
3169
JMP INCPC
30783078SLXI:
3079
3085
3079
3085
CALL SHDREG
3080
3110
3119
3080
3110
3119
CALL CHCOM
3081
3103
3139
3081
3103
3139
CALL SETADR
30843084SDAD:
30883088SPUSH:
3089
3107
3116
3129
3148
3153
3162
3228
3089
3107
3116
3129
3148
3153
3162
3228
CALL SHREG
30903090CPI 111000B
30913091JZ SPU0
30933093ANI 0010000B
3094
3131
3155
3230
3094
3131
3155
3230
CNZ ERRR
30953095SPU0:
3097
3157
3232
3097
3157
3232
ANI 110000B
3099
3113
3145
3150
3159
3164
3099
3113
3145
3150
3159
3164
JMP FILINC
31013101SJMP:
31063106SMOV:
3111
3143
3219
3111
3143
3219
CALL EXP3
31153115SMVI:
3118
3172
3118
3172
CALL FILHEX
3120
3125
3168
3120
3125
3168
CALL SETBYTE
31233123SACCI:
31283128SLDAX:
31303130ANI 101000B
31333133ANI 010000B
31353135JMP FILING
31373137SLHLD:
31423142SACCR:
31473147SINC:
31523152SINX:
3154
3229
3154
3229
ANI 001000B
31613161SRST:
31663166SIN:
31713171FILINC:
31743174INCPC:
31823182DELIM:
3185
3192
3185
3192
CNZ ERRD
31953195EXP16:
32033203EXP8:
32073207CNZ ERRV
32113211EXP3:
3212
3237
3212
3237
CALL EXP8
32133213CPI 8
32183218SHREG:
32233223ANI 111000B
32273227SHDREG:
3234
3238
3234
3238
JMP FILHEX
32363236SETBYTE:
32403240SETADR:
32423242JMP FILADR
32443244CHCOM:
32493249JNZ COMER
32533253JZ COMRET
32543254COMER:
32573257COMRET:
32623262CHEND:
32693269JNZ CHEN0
32743274CHEN0:
32763276JNZ CHEN2
32793279CHEN1:
32833283JNZ CHEN1
32943294CHEN2:
33013301STERR:
33063306DIFF:
33153315ENDAS:
33163316LXI H, PASS
33203320JZ RESTART
3323
3344
3323
3344
LXI H, PBUFF+5
33243324MVI M, CR
33253325LXI H, PBUFF+1
3331
3336
3331
3336
LHLD SYBAS
3332
3337
3332
3337
CALL DIFF
33383338MOV E, H
33453345LXI D, EMSG
33463346ENDA0:
33493349JZ ENDA1
33533353JMP ENDA0
33553355EMSG:
33563356DB , CR, 0
33583358ENDA1:
33593359LXI H, PBUFF+2
33613361LHLD EPC
33663366COMDH:
33743374SETAS:
33753375LHLD PPC
33793379SETLA:
33853385FILAB:
33943394JNZ FIL1
34023402ORI PLABT
34083408FIL1:
34113411CZ ERRP
34163416CALL COMDH
34203420FILHEX:
34223422FILHB:
34263426JZ FILHI
34303430CALL DHEX
34323432LDA PBUFF+1
34353435CZ PADDR
34373437LDA NBP
34383438CPI NBMAX
34403440JNC FILHI
3443
3497
3500
3443
3497
3500
CALL WHEXB
34443444FILHI:
34503450FILADR:
34563456JMP FILHB
34593459CHEX:
34613461CPI +10
34633463ADI - -10
34663466WHEXN:
34673467CALL CHEX
3468
3493
3468
3493
LXI H, NBP
34773477WHEXB:
34843484CALL WHEXN
34873487JMP WHEXN
34893489PADD:
34913491PADDR:
35053505ERRR:
35233523ERRD:
35283528ERRP:
35333533ERRL:
35383538ERRN:
35473547SYLAB:
35493549EPC:
35513551NBP:

to top

Matching Comments and Strings
File1 Line# File2 Line# Comment/String
11COMMON DATA FOR CP/M ASSEMBLER MODULE
33END OF ASSEMBLER PROGRAM
44ENTRY TO DOS, USED TO COMPUTE END MEMORY
77COMPUTE END OF MEMORY
1010PRINT BUFFER AND PRINT BUFFER POINTER
1111MAX PRINT BUFFER
15
89
842
1266
1638
2043
2687
15
89
842
1266
1638
2043
2687
PRINT BUFFER POINTER
1717SCANNER PARAMETERS
1919CURRENT TOKEN
2121BINARY VALUE FOR NUMBERS
23
93
846
1270
1642
2047
2691
23
93
846
1270
1642
2047
2691
ACCUMULATOR LENGTH
2424LENGTH OF ACCUMULATOR
2626ACCUMULATOR (MUST FOLLOW ACCLEN)
2828OPERAND EXPRESSION EVALUATOR PARAMETERS
3030VALUE OF EXPRESSION AFTER EVALUATION
3232SYMBOL TABLE MODULE PARAMETERS
3434FIRST LOCATION AVAILABLE FOR SYMBOL TABLE
3636LAST AVAILABLE LOCATION FOR SYMBOL TABLE
3838MISCELLANEOUS DATA AREAS
4040PASS # 0,1
4242FILL ADDRESS FOR NEXT HEX RECORD
44
104
857
1281
1653
2058
2702
44
104
857
1281
1653
2058
2702
ASSEMBLER'S PSEUDO PC
4646SYMBOL TABLE BASE
4848CURRENT SYMBOL BASE
5353I/O MODULE FOR CP/M ASSEMBLER
5656REBOOT LOCATION
5757I/O MODULE ENTRY POINTS
5858INITIALIZE, START ASSEMBLER
5959FILE SETUP
6060GET NEXT CHARACTER
6161PUT NEXT OUTPUT CHARACTER
62
519
62
519
PUT NEXT HEX BYTE
6363PRINT CONSOLE CHARACTER
6464PRINT CONSOLE BUFFER TO CRLF
6565WRITE OUTBUFFER
6666PLACE ERROR CHARACTER INTO PBUFF
6767PLACE HEX BYTE INTO OUTPUT BUFFER
68
692
68
692
END OF ASSEMBLY
6969DATA FOR I/O MODULE
7171BASE PC FOR CURRENT HEX RECORD
7373HEX BUFFER LENGTH
7575HEX BUFFER
7777DISK NAMES
7878CURRENTLY SELECTED DISK
7979.ASM DISK
8181.PRN DISK
8383.HEX DISK
86
839
1263
1635
2040
2684
86
839
1263
1635
2040
2684
COMMON EQUATES
87
840
1264
1636
2041
2685
87
840
1264
1636
2041
2685
MAX PRINT SIZE
88
841
1265
1637
2042
2686
88
841
1265
1637
2042
2686
PRINT BUFFER
9191CURRENT TOKEN USER SCAN
92
845
1269
2046
2690
92
845
1269
2046
2690
VALUE OF NUMBER IN BINARY
9494MAX.ACCUMULATOR LENGTH
97
850
1274
1646
2051
2695
97
850
1274
1646
2051
2695
VALUE FROM EXPRESSION ANALYSIS
99
852
1276
1648
2053
2697
99
852
1276
1648
2053
2697
CURRENT SYMBOL TOP
100
853
1277
1649
2054
2698
100
853
1277
1649
2054
2698
MAX ADDRESS+1
102
855
1279
1651
2056
2700
102
855
1279
1651
2056
2700
CURRENT PASS NUMBER
103103PILL ADDRESS FOR DHEX ROUTINE
106
2027
2722
3268
106
2027
2722
3268
CARRIAGE RETURN
107
2723
107
2723
LINE FEED
108108END OF FILE MARK
111111DOS ENTRY POINTS
112112DOS ENTRY POINT
113113READ CONSOLE DEVICE
114114WRITE CONSOLE DEVICE
115115CONSOLE CHARACTER READY
116116SELECT DISK SPECIFIED BY REGISTER E
117117OPEN FILE
118118CLOSE FILE
119119DELETE FILE
120120READ FILE
121121WRITE FILE
122122MAKE A FILE
123123RETURN CURRENTLY SELECTED DISK
124124SET DMA ADDRESS
126126FILE AND BUFFERING PARAMETERS
127
373
127
373
NUMBER OF SOURCE BUFFERS
128128NUMBER OF PRINT BUFFERS
129129NUMBER OF HEX BUFFERS
135135FILE CONTROL BLOCKS
137137FILE NAME
138138ASM
138138FILE TYPE
140140REEL NUMBER (ZEROED IN SETUP)
141141MISC AND DISK MAP
143143CURRENT RECORD (ZEROED IN SETUP)
147147PRN
149149RECORD TO WRITE NEXT
153153HEX
157157POINTERS AND BUFFERS
159159NEXT CHARACTER POSITION TO READ
172172FILE CONTROL BLOCK ADDRESS
173173POSITION OF FILE NAME
174174FILE NAME LENGTH
175175INPUT DISK BUFFER ADDRESS
177177SELECT DISK IN REG-A
179179SAME?
181181CHANGE CURRENT DISK
187187SCAN THE NEXT PARAMETER
192
1168
192
1168
NORMALIZE
198198PRINT MESSAGE AT H,L TO CONSOLE DEVICE
209209FILL NAME FROM DEFAULT FILE CONTROL BLOCK
213213GET NEXT FILE CHARACTER
215
286
346
215
286
346
FILE NAME ERROR
216216STORE TO FILE CNTRL BLOCK
220220FOR NEXT CHARACTER
223223SET UP STACK AND FILES, START ASSEMBLER
224224TITL
228228OPEN FILE ADDRESSED BY D,E
229229OPENF
233233OPEN ERROR
238238CLOSE FILE ADDRESSED BY D,E
242242CLOSE OK
247247DELETE FILE' ADDRESSED BY D,E
251251MAKE FILE ADDRESSED BY D,E
256256MAKE ERROR
266266RETURN ZERO FLAG IF NO PRINT FILE
270270CONSOLE:
283283SET UP FILES FOR INPUT AND OUTPUT
284284GET FIRST CHARACTER
285285MAY HAVE FORGOTTEN NAME
287287CURRENT DISK?
288288GET IT TO REG
291291SCAN PARAMETERS
300300ADDRESS SOURCE FILE CONTROL BLOCK
301301FILE NAME OBTAINED FROM DEFAULT FCB
303
434
303
434
Z OR X?
305305ADDRESS PRINT FILE CONTROL BLOCK
306306SAVE A COPY FOR OPEN
307307SAVE A COPY FOR DELETE
308308FILL PCB
310310FCB ADDRESS
312312FCB ADDRESS?
315315TEST FOR HEX FILE
329329FILES SET UP, CALL ASSEMBLER
333333SETUP INPUT FILE FOR SOURCE PROGRAM
335335CAUSE IMMEDIATE READ
336336ZERO VALUE
337337CLEAR REEL NUMBER
338338CLEAR CURRENT RECORD
339339CLEAR HEX BUFFER LENGTH
352352COMPARE D,E AGAINS H,L
360360GET NEXT CHARACTER FROM SOURCE BUFFER
363
701
363
701
ENVIRONMENT SAVED
365365SSIZE
369369READ ANOTHER BUFFER
375375READ 128 BYTES
376
587
2863
376
587
2863
SAVE COUNT
377
499
377
499
SAVE BUFFER ADDRESS
380380PERFORM THE READ
381381RESTORE BUFFER ADDRESS
382382RESTORE BUFFER COUNT
383383SET FLAGS
386386NORMAL READ OCCURRED
387387SOURCE BUFFER ADDRESS
390
489
942
2864
390
489
942
2864
GET CHARACTER
391391STORE CHARACTER
396396BUFFER LOADED, TRY NEXT BUFFER
402402EOF OR ERROR
403403ALLOW 0,1,2
404404FILE READ ERROR
406406STORE'AND END OF FILE CHARACTER
409409FILL CURRENT BUFFER WITH EOF'S
411411GET CHARACTER TO ACCUMULATOR AND RETURN
414414SAVE CURRENT SBP
415415READY FOR NEXT READ
417417RESTORE PREVIOUS SBP
418418ABSOLUTE ADDRESS OF CHARACTER
419419GET IT
427427PRINT READ ERROR MESSAGE
430430SAME AT PNCF, BUT ENVIRONMENT IS SAVED FIRST
432432CHECK FOR CONSOLE OUTPUT /'NO OUTPUT
433
613
433
613
SAVE CHARACTER
435435Z NO OUTPUT
439439RECOVER CHAR FOR CON OUT
444444NOT X OR Z, SO PRINT IT
455455PRINT NEXT CHARACTER
460460CHARACTER STORED AT PBP IN PBUFF
461461PBP TO H,L
462462POINT TO NEXT CHARACTER
463463REPLACE IT
466466AT END OF BUFFER?
467467RETURN IF NOT
469469OVERFLOW, WRITE BUFFER
474474D,E ADDRESS FILE CONTROL BLOCK
475475NUMBER OF BUFFERS TO B
476476(DROP THROUGH TO WBUFF)
478478WRITE BUFFERS STARTING AT H,L FOR B BUFFERS
479479CHECK FOR EOF'S
482482DON'T DO THE WRITE
484484SAVE NUMBER OF BUFFERS
485485SAVE FCB ADDRESS
486486READY FOR MOVE
488488MOVE TO BUFFER
490490PUT CHARACTER
496496WRITE BUFFER
497
503
497
503
RECOVER FCB ADDRESS
498498SAVE IT AGAIN FOR LATER
500500DOS WRITE FUNCTION
502502RECOVER BUFFER ADDRESS
504504RECOVER BUFFER COUNT
505505SET ERROR RETURN FLAGS
508508WRITE OX
510510RETURN IF NO' MORE BUFFERS TO WRITE
513513ERROR IN WRITE
515515ERROR MESSAGE OUT
516516TO CLOSE AND REBOOT
529529PUT NEXT BYTE
530530(SIMILAR TO THE PNCF SUBROUTINE)
535535CHARACTER STORED AT HBP IN HBUFF
537537HBP INCREMENTED
539539BACK TO D,E
541
723
541
723
EQUAL?
544544OVERFLOW, WRITE BUFFERS
549549FILE CONTROL BLOCK FOR HEX FILE
551551WRITE BUFFERS
553553PRINT CHARACTER IN REGISTER A
565565WRITE CHARACTER IN REG-A WITH REFLECT AT CONSOLE IF EB
566566SAVE THE CHAR
567567PRINT CHAR
571571ERROR IN LINE
574574ALREADY PRINTED IF 'X'
576
699
576
699
RECOVER CHARACTER
577577PRINT IT
580580WRITE THE OUTPUT BUFFER TO THE PRINT FILE
581581GET CHARACTER COUNT
582582BASE OF BUFFER
584584ZER0 COUNT?
586586NOT END, SAVE COUNT AND GET CHARACTER
589
766
589
766
WRITE CHARACTER
590590ADDRESS NEXT CHARACTER OF BUFFER
591591GET COUNT
595595END OF PRINT - ZERO QBP
597597FOLLOW BY CR LF
603603READY TO BLANK OUT
612612FILL QBUFF ERROR MESSAGE POSITION
617617DON'T CHANGE IT IF ALREADY SET
618618STORE ERROR CHARACTER
622
2939
622
2939
END OF ASSEMBLER
623623Z OR A?
625625FILL OUTPUT FILES WITH EOF'S
629629VALUE ZERO?
631631CTL-Z IS END OF FILE
632632PUT ENDFILES IN PRINT BUFFER
633633EVENTUALLY BUFFER IS WRITTEN
635635END 0F PRINT PILE, CHECK HEX
639639WRITE TERMINATING RECORD INTO HEX FILE
640640MAY BE ZERO ALREADY
642642WRITE HEX BUFFER IF NOT ZERO
643643GET CURRENT FPC AS LAST ADDRESS
644644RECORD LENGTH ZERO, BASE ADDRESS 0000
645645WRlTE HEX BUFFER
647647NOW CLEAR OUTPUT BUFFER FOR HEX FILE
657657CLOSE FILES AND TERMINATE
678678CP/M ASSEMBLER - VER 1.0
680680NO SOURCE FILE PRESENT
682682NO DIRECTORY SPACE
684684SOURCE FILE NAME ERROR
686686SOURCE FILE READ ERROR
688688OUTPUT FILE WRITE ERROR
690690CANNOT CLOSE FILES
694694DATA TO HEX BUFFER (BYTE IN REG-A)
696696HOLD CHARACTER FOR 'Z' TEST
702702SAVE DATA BYTE
703703CURRENT LENGTH
704704TO ACCUM
705
2548
3348
705
2548
3348
ZERO?
708708LENGTH NOT ZERO, MAY BE FULL BUFFER
710710BR IF LESS THAN 16 BYTES
711711BUFFER FULL, DUMP IT
712712DBL = 0 UPON RETURN
713713SET BPC AND DATA BYTE
715715PARTIAL BUFFER IN PROGRESS, CHECK FOR SEQUENTIAL BYTE LOAD
718718BASE PC IN H,L
719719CURRENT LENGTH OF BUFFER
720720IS IN B,C
721721BPC+DBL TO H,L
722722READY FOR COMPARE
724724BR IF NOT
725725CHECK HO BYTE
727727BR IF SAME ADDRESS
729729NON SEQUENTIAL ADDRESS, DUMP AND CHANGE BASE ADDRESS
731731SET NEW BASE
735735STORE DATA BYTE AND INC DBL
737
777
737
777
LENGTH TO REG-E
738738DBL=DBL+1
739739HIGH ORDER ZERO FOR DOUBLE ADD
741741DBUFF+DBL TO H,L
742742RESTORE DATA BYTE
743743INTO DATA BUFFER
746746ENVIRONMENT RESTORED
749749WRITE CHARACTER WITH CHECK SUM IN D
756756OUTPUT HEX CHARACTER
757
761
757
761
RESTORE BYTE
758758SAVE A VERSION
760760WRITE LOW NIBBLE
762
806
762
806
COMPUTE CHECKSUM
763763SAVE CS
771
775
771
775
PUT BYTE
773773WRITE CURRENT HEX BUFFER
774774RECORD HEADER
776776RECORD LENGTH ADDRESS
778778ZERO TO REG-A
779779CLEAR CHECKSUM
780780LENGTH IS ZEROED FOR NEXT WRITE
781781BASE ADDRESS FOR RECORD
782782LENGTH TO A
783783WRITE HEX VALUE
784784HIGH ORDER BASE ADDR
785785WRITE HO BYTE
786786LOW ORDER BASE ADDR
787787WRITE LO BYTE
788788ZERO TO A
789789WRITE RECORD TYPE 00
790790CHECK FOR LENGTH 0
794794NON - ZERO, WRITE DATA BYTES
797797GET BYTE
799799WRITE DATA BYTE
800800END OF BUFFER?
803803END OF DATA BYTES, WRITE CHECK SUM
809809SEND CRLF AT END OF RECORD
821821END OF THIS MODULE
822
2740
822
2740
INITIALIZE THE SCANNER
823823CALL THE SCANNER
826826ENTRY POINTS IN I/O MODULE
833833LAST CHAR SCANNED
835835LOOK AHEAD CHAR
837837RADIX INDICATOR
844
1268
1640
2045
2689
844
1268
1640
2045
2689
CURRENT TOKEN UDER SCAN
847
1271
1643
2048
2692
847
1271
1643
2048
2692
MAX ACCUMULATOR LENGTH
856
1280
1652
2057
2701
856
1280
1652
2057
2701
FILL ADDRESS FOR NEXT HEX BYTE
859
1285
1655
2060
2706
859
1285
1655
2060
2706
GLOBAL EQUATES
861
1287
1657
2062
2708
861
1287
1657
2062
2708
NUMBER
862
1288
1658
2063
2709
862
1288
1658
2063
2709
STRING
863
1289
1659
2064
2710
863
1289
1659
2064
2710
SPECIAL CHARACTER
865
1291
1366
1661
2066
2712
865
1291
1366
1661
2066
2712
PROGRAM LABEL
866
1292
1367
1662
2067
2713
866
1292
1367
1662
2067
2713
DATA LABEL
867
1293
1368
1663
2068
2714
867
1293
1368
1663
2068
2714
EQUATE
868
1294
1369
1664
2069
2715
2842
868
1294
1369
1664
2069
2715
2842
SET
869
1295
1370
1665
2070
2716
2840
869
1295
1370
1665
2070
2716
2840
MACRO
871
1297
1667
2072
2718
871
1297
1667
2072
2718
EXTERNAL
872
1298
1373
1668
2073
2719
872
1298
1373
1668
2073
2719
REFER
873
1299
1669
2074
2720
873
1299
1669
2074
2720
GLOBAL
882882TAB CHARACTER
885
3365
885
3365
UTILITY SUBROUTINES
886886GET NEXT CHARACTER AND ECHO TO PRINT FILE
891891IF LF THEN DUMP CURRENT BUFFER
894894NOT A CR OR LF, PLACE INTO BUFFER IF THERE IS ENOUGH ROOM
898898ENOUGH ROOM, PLACE INTO BUFFER
900900DOUBLE PRECISION PBP IN D,E
902902INCREMENTED PBP IN MEMORY
904904PBUFF(PBP)
906906PBUFF(PBP) - CHAR
908908CHAR NOT PLACED INTO BUFFER
912912INITIALIZE THE'SCANNER
914914CLEAR NEXT CHARACTER
916916SET LAST CHAR TO LF
918918CLEAR BUFFER
919919START OF PRINT LINE
929929STORE THE NEXT CHARACTER INTO THE ACCUMULATOR AND UPDATE ACCLEN
933933JUMP IF NOT UP TO LAST POSITION
937937D,E WILL HOLD INDEX
939939ACCLEN INCREMENTED
940940ADDRESS ACCUMULATOR
941941ADD INDEX TO ACCUMULATOR
943943INTO ACCUMULATOR
946946TEST FOR DOLLAR SIGN, ASSUMING H,L ADDRESS NEXTC
950950TO GET A ZERO
951951CLEARS NEXTC
952952WITH ZERO FLAG SET
954954CHECK NEXTC FOR NUMERIC, RETURN ZERO FLAG IF NOT NUMERIC
958958CARRY RESET IF NUMERIC
960960ZERO IF NOT NUMERIC
963963RETURN ZERO FLAG IF NEXTC IS NOT HEXADECIMAL
965965RETURNS IF 0-9
969969CARRY SET IF OUT OF RANGE
974974RETURN ZERO FLAG IF NEXTC IS NOT A LETTER
982982RETURN ZERO FLAG IF NOT ALPHANUMERIC
988
1001
988
1001
TRANSLATE TO UPPER CASE
990990LOWER CASE A
991991CARRY IF LESS THAN LOWER A
992992LOWER CASE Z
993993NO CARRY IF GREATER THAN LOWER
994994CONVERT TO UPPER CASE
998998GET CHARACTER AND STORE TO NEXTC
10041004END OF LINE TEST FOR COMMENT SCAN
10121012FIND NEXT TOKEN IN INPUT STREAM
10171017DEBLANK
10201020TAB CHARACTER TREATED AS BLANK OUTSIDE STRING
10221022MAY BE A COMMENT
10231023DEBLANK THROUGH COMMENT
10241024PROCESSOR'TECH COMMENT
10251025NOT *
10271027LAST LINE FEED?
10281028NOT LF*
10291029COMMENT FOUND, REMOVE IT
10321032CR, EOF, OR !
10331033HANDLE END OF LINE
10341034OTHERWISE CONTINUE SCAN
10361036MAY BE ZERO
10401040GET NEXT AND STORE'TO NEXTC
10431043LINE DEBLANKED, FIND TOKEN TYPE
10441044LOOK FOR LETTER, DECIMAL DIGIT, OR STRING QUOTE
10611061D0N'T STORE THE QUOTE
10651065ASSUME IT IS A SPECIAL CHARACTER
10661066IF LF THEN DUMP THE BUFFER
10681068LF FOUND
10721072CLEAR ERROR CHAR ON BOTH PASSES
10751075START NEW LINE
10831083LOOP WHILE CURRENT ITEM IS ACCUMULATING
10861086SAVE LAST CHARACTER
10881088STORE CHARACTER INTO ACCUM IF NOT ZERO
10891089GET NEXT TO NEXTC
10921092RETURN IF SPECIAL CHARACTER
10941094TRANSLATE TO UPPER CASE IF NOT IN STRING
11011101ACCUMULATING AN IDENTIFIER
11031103IF SO, SKIP IT
11041104ALPHA NUMERIC?
11051105RETURN IF END
11061106NOT END OF THE IDENTIFIER
11091109NOT SPECIAL OR IDENT, CHECK NUMBER
11131113ACCUMULATING A NUMBER, CHECK FOR $
11151115SKIP IF FOUND
11161116HEX CHARACTER?
11171117STORE IT IF FOUND
11181118END OF NUMBER, LOOK FOR RADIX INDICATOR
1121
1123
1121
1123
OCTAL INDICATOR
11261126OCTAL
11361136CLEARS THE LOOKAHEAD CHARACTER
11391139RADIX MUST COME FROM ACCUM
11531153ACCLEN DECREMENTED TO REMOVE RADIX INDICATOR
11571157NUMERIC CONVERSION OCCURS HERE
11591159VALUE ACCUMULATES BINARY EQUIVALENT
11611161C=ACCLEN
11621162ADDRESSES ACCUM
11631163NEXT DIGIT IS PROCESSED HERE
11651165READY FOR NEXT LOOP
11671167NOT HEX A-F
11711171HEX A-F H
11731173CHECK SIZE AGAINST RADIX
11741174SAVE ACCUM ADDR
11751175SAVE CURRENT POSITION
11791179VALUE ERROR IF DIGIT>=RADIX
11801180DOUBLE PRECISION DIGIT
11811181RADIX TO ACCUMULATOR
11831183VALUE TO D,E - ACCUMULATE RESULT IN H,L
11841184ZERO ACCUMULATOR
11851185LOOP UNTIL RADIX GOES TO ZERO
11881188TEST LSB
11891189SKIP SUMMING OPERATION IF LSB=0
11901190ADD IN VALUE
11911191MULTIPLY VALUE * 2 FOR SHL OPERATION
11981198END OF NUMBER CONVERSION
11991199DIGIT ADDED IN
12031203MORE DIGITS?
12051205DONE WITH THE NUMBER
12071207MUST BE A STRING
12091209END OF LINE?
12101210AND RETURN
12151215RETURN IF SINGLE QUOTE ENCOUNTERED
12161216OTHERWISE TREAT AS ONE QUOTE
12181218END OF SCANNER
12201220ERROR MESSAGE ROUTINES
12211221'V' VALUE ERROR
12261226'O' OVERFLOW ERROR
12311231PRINT ERROR MESSAGE
12441244SYMBOL TABLE MANIPULATION MODULE
12471247IO MODULE ENTRY POINT
12521252ENTRY POINTS TO SYMBOL TABLE MODULE
1282
2703
1282
2703
BASE OF SYMBOL TABLE
12831283CURRENT SYMBOL BEING ACCESSED
1286
1656
2061
2707
1286
1656
2061
2707
IDENTIFIER
13021302DATA AREAS
13031303SYMBOL TABLE BEGINS AT THE END OF THIS MODULE
130413045 BYTES OVERHEAD WITH EACH SYMBOL ENTRY
130513052BY COLLISION, 1BY TYPE/LEN, 2BY VALUE
13061306HASH TABLE SIZE
13071307HASH MASK FOR CODING
13091309HASH TABLE
13111311HASH CODE AFTER CALL ON LOOKUP
13131313SYMBOL TABLE ENTRY FORMAT IS
1314
1316
1318
1320
1324
1326
1328
1330
1314
1316
1318
1320
1324
1326
1328
1330
-----------------
13151315: HIGH VAL BYTE :
13171317: LOW VAL BYTE :
13191319: CHARACTER H :
13211321: ... :
13221322----------------- :
13231323: CHARACTER 1 :
13251325: TYPE ; LENG :
13271327: HIGH COLLISION:
13291329SYADR* : LOW COLLISION :
13321332WHERE THE LOW/HIGH COLLISION FIELD ADDRESSES ANOTHER ENTRY WITH
13331333THE SAME HASH CODE (OR ZERO IF THE END OF CHAIN), TYPE DESCRIBES
13341334THE ENTRY TYPE (GIVEN BELOW), LENG IS THE NUMBER OF CHARACTERS IN
13351335THE SYMBOL PRINTNAME -1 (I.E., LENG=0 IS A SINGLE CHARACTER PRINT-
13361336NAME, WHILE LENG=15 INDICATES A 16 CHARACTER NAME). CHARACTER 1
13371337THROUGH N GIVE THE PRINTNAME CHARACTERS IN ASCII UPPER CASE (ALL
13381338LOWER CASE NAMES ARE TRANSLATED ON INPUT), AND THE LOW/HIGH VALUE
13391339GIVE THE PARTICULAR ADDRESS OR CONSTANT VALUE ASSOCIATED WITH THE
13401340NAME. THE REPRESENTATION OF MACROS DIFFERS IN THE FIELDS WHICH
13411341FOLLOW THE VALUE FIELD (MACROS ARE NOT CURRENTLY IMPLEMENTED).
13431343THE TYPE FIELD CONSISTS OF FOUR BITS WHICH ARE ASSIGNED AS
13441344FOLLOWS:
134613460000 UNDEFINED SYMBOL
134713470001 LOCAL LABELLED PROGRAM
134813480010 LOCAL LABELLED DATA
134913490011 (UNUSED)
135013500100 EQUATE
135113510101 SET
135213520110 MACRO
135313530111 (UNUSED)
135513551000 (UNUSED)
135613561001 EXTERN LABELLED PROGRAM
135713571010 EXTERN LABELLED DATA
135813581011 REFERENCE TO MODULE
135913591100 (UNUSED)
136013601101 GLOBAL UNDEFINED SYMBOL
136113611110 GLOBAL LABELLED PROGRAM
136213621111 (UNUSED)
13641364TYPE DEFINITIONS
13721372EXTERNAL ATTRIBUTE
13741374GLOBAL ATTRIBUTE
1377
2738
1377
2738
INITIALIZE THE SYMBOL TABLE
13781378ZERO THE HASH TABLE
13801380CLEAR ACCUM
13841384CLEAR DOUBLE WORD
13891389SET SYMBOL TABLE POINTERS
13951395COMPUTE HASH CODE FOR CURRENT ACCUMULATOR
13971397GET ACCUM LENGTH
13981398CLEAR ACCUMULATOR
14001400MOVE TO FIRST/NEXT CHARACTER POSITION
14011401ADD WITH OVERFLOW
14041404MASK BITS FOR MODULO HZISE
14051405FILL HASHC WITH RESULT
14081408SET THE LENGTH FIELD OF THE CURRENT SYMBOL
14091409SAVE LENGTH IN B
14131413GET TYPE/LENGTH FIELD
14141414MASK OUT TYPE FIELD
14151415MASK IN LENGTH
14191419GET THE LENGTH FIELD TO REG-A
14251425LENGTH IS STORED AS VALUE - 1
14281428FOUND RETURNS TRUE IF SYADR IS NOT ZERO (TRUE IS NZ FLAG HERE)
14341434LOOK FOR SYMBOL IN ACCUMULATOR
14351435COMPUTE HASH CODE
14361436NORMALIZE IDENTIFIER TO 16 CHARACTERS
14431443LOOK FOR SYMBOL THROUGH HASH TABLE
14461446DOUBLE HASH CODE IN D,E
1447
1521
1447
1521
BASE OF HASH TABLE
14491449HASHT(HASHC)
14501450LOW ORDER ADDRESS
14531453HEADER TO LIST OF SYMBOLS IS IN H,L
14571457RETURN IF SYADR BECOMES ZERO
14591459OTHERWISE EXAMINE CHARACTER STRING FOR MATCH
14601460GET LENGTH TO REG-A
14651465LENGTH MATCH, TRY TO MATCH CHARACTERS
14661466STRING LENGTH IN B
14671467HL ADDRESSES ACCUM
1468
2895
1468
2895
TO D,E
14721472ADDRESSES CHARACTERS
14741474NEXT CHARACTER FROM ACCUM
14751475NEXT CHARACTER IN SYMBOL TABLE
14771477CHARACTER MATCHED, INCREMENT TO NEXT
14831483COMPLETE MATCH AT CURRENT SYMBOL, SYADR IS SET
14861486NOT FOUND, MOVE SYADR DOWN ONE COLLISION ADDRESS
14901490COLLISION ADDRESS IN D,E
1495
2671
1495
2671
ENTER SYMBOL IN ACCUMULATOR
14961496ENSURE THERE IS ENOUGH SPACE IN THE TABLE
14971497ACCLEN
14991499DOUBLE PRECISION ACCLEN IN D,E
15011501NEXT SYMBOL LOCATION
15021502SYTOP+ACCLEN
15031503FIXED DATA/SYMBOL
15041504HL HAS NEXT TABLE LOCATION FOR SYMBOL
15051505NEW SYTOP IN D,E
15061506MAXIMUM SYMTOP VALUE
15081508COMPUTE 16-BIT DIFFERENCE
15111511NLW SYTOP IN H,L
15121512OVERFLOW IN TABLE
15141514OTHERWISE NO ERROR
15151515SET NEW TABLE TOP
15161516SET COLLISION FIELD
15171517CURRENT SYMBOL ADDRESS TO D,E
15181518HASH CODE FOR CURRENT SYMBOL TO H,L
1519
2129
2167
1519
2129
2167
LOW BYTE
15201520DOUBLE PRECISION VALUE IN B,C
15231523HASHT(HASHC) IN H,L
15241524D,E ADDRESSES CURRENT SYMBOL - CHANGE LINKS
15251525LOW ORDER OLD HEADER
15271527HIGH ORDER OLD HEADER
15281528HIGH ORDER NEW HEADER TO HASH TABLE
15301530LCW ORDER NEW HEADER TO HASH TABLE
15311531H,L HOLDS SYMBOL TABLE ADDRESS
15321532LOW ORDER OLD HEADER TO COLLISION FIELD
15341534HIGH ORDER OLD HEADER TO COLLISION FIELD
15361536HASH CHAIN NOW REPAIRED FOR THIS ENTRY, COPY THE PRINTNAME
15381538GET SYMBOL LENGTH
15391539LARGER THAN 16 SYMBOLS?
15411541TRUNCATE TO 16 CHARACTERS
15421542COPY LENGTH FIELD, FOLLOWED BY PRINTNAME CHARACTERS
15441544COPY LENGTH TO B
154515451-16 CHANGED TO 0-15
15461546FOLLOWING COLLISION FIELD
15471547STORE LENGTH WITH UNDEFINED TYPE (0000)
15521552STORE NEXT CHARACTER OF PRINTNAME
15531553LENGTH=LENGTH-1
15541554FOR ANOTHER CHARACTER
15561556PRINTNAME COPIED, ZERO THE VALUE FIELD
15571557ZERO A
15581558LOW ORDER VALUE
15611561HIGH ORDER VALUE
15641564OVERFLOW IN SYMBOL TABLE
15671567END OF EXEQUTION
15691569SYMBOL TABLE OVERFLOW
15711571SET CURRENT SYMBOL TYPE TO VALUE IN REG-A
15761576TYPE MOVED TO HIGH ORDER 4-BITS
15771577SAVE IT IN B
15781578BASE OF SYMBOL TO ACCESS
15801580ADDRESS OF TYPE/LENGTH FIELD
15811581GET IT AND MASK
15821582LEAVE LENGTH
15831583MASK IN TYPE
1584
2591
1584
2591
STORE IT
15871587RETURN THE TYPE OF THE VALUE IN CURRENT SYMBOL
15961596TYPE MOVED TO LOW 4-BITS OF REG-A
15991599GET VALUE FIELD ADDRESS FOR CURRENT SYMBOL
16001600PRINTNAME LENGTH TO ACCUM
16011601BASE ADDRESS
16041604BASE(LEN)
16061606FOR COLLISION FIELD
16071607FOR TYPE/LEN FIELD
16081608WITH H,L ADDRESSING VALUE FIELD
16101610SET THE VALUE FIELD OF THE CURRENT SYMBOL
16111611VALUE IS SENT IN H,L
16121612SAVE VALUE TO SET
16141614POP VALUE TO SET, HL HAS ADDRESS TO FILL
16171617FIELD SET
16201620GET THE VALUE FIELD OF THE CURRENT SYMBOL TO H,L
16211621ADDRESS OF VALUE FIELD TO H, L
16311631TO NEXT MODULE
16411641VALUE OR NUMBER IN BINARY
16721672CARRIAGB RETURN
1675
2077
1675
2077
TABLE DEFINITIONS
16771677TYPES
1678
2078
1678
2078
START OF OPERATORS
1679167901 THROUGH 015 DENOTE OPERATIONS
1681
2081
1681
2081
RT IS REGISTER TYPE, PT IS PSEUDO OPERATION
1683
3057
1683
3057
SIMPLE
1684
3058
1684
3058
LXI
1685
3059
1685
3059
DAD
1686
3060
1686
3060
PUSH/POP
1687
3061
1687
3061
JMP/CALL
1688
3062
1688
3062
MOV
1689
3063
1689
3063
MVI
16901690ACC IMMEDIATE
1691
3065
1691
3065
LDAX/STAX
1692
3066
1692
3066
LHLD/SHLD/LDA/STA
16931693ACCUM REGISTER
16941694INC/DEC
1695
3069
1695
3069
INX/DCX
16961696RST
1697
3071
1697
3071
IN/OUT
16991699X1 THROUGH X15 DENOTE OPERATORS
17021702MOD
17031703SHL
17041704SHR
17071707UNARY -
1708
2086
1708
2086
NOT
17091709AND
17111711XOR
17201720RESERVED WORD TABLES
17221722BASE ADDRESS VECTOR FOR CHARACTERS
17241724LENGTH 1 BASE
17251725LENGTH 2 BASE
17261726LENGTH 3 BASE
17271727LENGTH 4 BASE
17281728LENGTH 5 BASE
17291729LENGTH 6 BASE
17311731LARGEST STRING TO MATCH
17331733LENGTH VECTOR GIVES THE NUMBER OF ITEMS IN EACH TABLE
17401740TABLE OF TYPE,VALUE PAIRS FOR EACH RESERVED SYMBOL
17471747CHARACTER VECTORS FOR 1,2,3,4, AND 5 CHARACTER NAMES
17491749()*
17511751, -/A
17521752BCDE
17531753HLM
17561756DBDIDSDW
17571757EIIFINOR
17611761ACIADCADDADI
17621762ANAANDANICMA
17631763CMCCMPCPIDAA
17641764DADDCRDCXEND
17651765EQUHLTINRINX
17661766JMPLDALXIMOD
17671767MOVMVINOPNOT
17681768ORACRGORIOUT
17691769POPPSWRALRAR
17701770RETRLCRRCRST
17711771SBBSBISETSHL
17721772SHRSTASTCSUB
17731773SUIXORXRAXRI
17761776CALLENDMLDAXLHLDPCHL
17771777PUSHSHLDSPHLSTAX
17781778XCHGXTHL
17811781ENDIFMACROTITLE
17831783END OF CHARACTER VECTOR
17851785TYPE,VALUE PAIRS FOR CHAR1 VECTOR
17861786CR (
17891789, -
17901790/ A
17911791B C
17921792D E
17931793H L
17961796TYPE,VALUE PAIRS FOR CHAR2 VECTOR
17971797DB DI
17981798DS DW
17991799EI IP
18001800IN OR
18041804TYPE,VALUE PAIRS FOR CHAR3 VECTOR
18051805ACI ADC
18061806ADD ADI
18071807ANA AND
18081808ANI CMA
18091809CMC CMP
18101810CPI DAA
18111811DAD DCR
18121812DCX END
18131813EQU HLT
18141814INR INX
18151815JMP LDA
18161816LXI MOD
18171817MOV MVI
18181818NOP NOT
18191819ORA ORG
18201820ORI OUT
18211821POP PSW
18221822RAL RAR
18231823PET RLC
18241824RRC RST
18251825SSB SBI
18261826SET SHL
18271827STA STC
18281828STC SUB
18291829SUl XOR
18301830XRA XRI
18331833TYPE,VALUE PAIRS FOR CHAR4 VECTOR
18341834CALL
18351835ENDM LDAX
18361836LHLD PCHL
18371837PUSH SHLD
18381838SPHL STAX
18391839XCHG XTHL
18411841TYPE,VALUE PAIRS FOR CHAR5 VECTOR
18421842ENDIF MACRO
1843
2843
1843
2843
TITLE
18451845TABLE OF SUFFIXES FOR J C AND R OPERATIONS
18461846NZZ NCC POPEP M
18481848BINARY SEARCH MNEMONIC TABLE
18491849INPUT: UR = UPPER BOUND OF TABLE (I.E., TABLE LENGTH-1)
18501850SR = SIZE OF EACH TABLE ELEMENT
18511851H,L ADDRESS BASE OF TABLE TO SEARCH
18521852OUTPUT: ZERO FLAG INDICATES MATCH WAS FOUND, IN WHICH CASE
18531853THE ACCUMULATOR CONTAINS AN INDEX TO THE ELEMENT
18541854NOT ZERO FLAG INDICATES NO MATCH FOUND IN TABLE
18561856UPPER SOUND REGISTER
18571857LOWER BOUND REGISTER
18581858SIZE REGISTER
18591859MIDDLE POINTER REGISTER
18601860SIZE PRIME, USED IN COMPUTING MIDDLE FOSITON
18611861ANOTHER COPY OF SIZE PRIME
18641864MARK M <> OLD M
18651865U=U+1
18661866L = 0
18681868COMPUTE M' = (U+L)/2
18711871CY=0, A=U
18721872(U+L)
18731873(U+L)/2
18741874SAME AS LAST TIME THROUGH?
18751875JUMP IF = TO NO MATCH
18771877MORE ELEMENTS TO SCAN
18781878NEW MIDDLE VALUE
18791879SAVE A COPY OF THE BASE ADDRESS
18801880SAVE S,M
18811881SAVE U,L
18821882SAVE ANOTHER COPY OF THE BASE ADDRESS
18831883S'= S
18841884S** = S*
18851885ACCLEN-1
1887
1952
1887
1952
DOUBLE ACCLEN-1 TO D,E
1888
1953
1888
1953
SAVE A COPY FOR LATER
1889
1954
1889
1954
TOO LONG?
1890
1955
1890
1955
NOT IN RANGE IF CARRY
1891
1956
1891
1956
LENGTH VECTOR
1893
1958
1893
1958
FILL UPPER BOUND FROM MEMORY
1896
1961
1896
1961
BASE ADDRESS TO H,L
1900
1965
1900
1965
NOW IN H,L
1901
1966
1901
1966
FILL THE SIZE REGISTER
1902
1967
1902
1967
PERFORM THE BINARY SEARCH
1903
1968
1903
1968
ZERO IF FOUND
1904
1922
1969
1987
1904
1922
1969
1987
RESTORE INDEX
1907
1972
1907
1972
ADDRESSING PROPER TV ELEMENT
1911
1976
1911
1976
D,E IS BASE ADDRESS OF TYPE/VALUE VECTOR, ADD DISPLACEMENT
1914
1979
1914
1979
DOUBLED
1915
1980
1915
1980
INDEXED
1916
1981
1916
1981
TYPE TO ACC
1918
1983
1918
1983
VALUE TO B
1919
1984
1919
1984
TYPE IN ACC, VALUE IN B
1921
1986
1921
1986
NAME NOT TOO LONG, BUT NOT FOUND IN TABLES, MAY BE J C OR R
1924
1989
1924
1989
NOT FOUND AS PREFIX J C OR R IF NOT ZERO FLAG
1925
1990
1925
1990
SAVE VALUE AND TYPE
1926
1991
1926
1991
ZERO IF SUFFIX MATCHED
1927
1992
1927
1992
READY FOR MASK IF ZERO FLAG
1928
1993
1928
1993
RECALL VALUE AND TYPE
1929
1994
1929
1994
RETURN IF NOT ZERO FLAG SET
1930
1995
1930
1995
MASK IN THE PROPER BITS AND RETURN
1931
1996
1931
1996
CLEAR CARRY
1935
2000
1935
2000
VALUE SET TO JNZ ...
1936
2001
1936
2001
REPLACE
1937
2002
1937
2002
RETURN WITH TYPE IN REGISTER A
1938
2003
1938
2003
CLEAR THE ZERO FLAG
1941
2006
1941
2006
CAN'T FIND THE ENTRY, RETURN WITH ZERO FLAG RESET
1942
2007
1942
2007
GET THE ELEMENT BACK
1943
2008
1943
2008
CLEAR
1944
2009
1944
2009
ZERO FLAG RESET
1948
2013
1948
2013
NEXT MODULE ADDRESS
19501950ACCLEN-l
2015
2656
2015
2656
OPERAND SCAN MODULE
20182018EXTERNALS
20192019I/O MODULE
2020
2653
2020
2653
SCANNER MODULE
2021
2654
2021
2654
SYMBOL TABLE MODULE
2022
2655
2022
2655
BINARY SEARCH MODULE
20262026SCANNER ENTRY POINT
20292029LOOKUP
20302030FOUND SYMBOL IF ZERO FLAG NOT SET
20312031ENTER SYMBOL
2032
2033
2672
3403
2032
2033
2672
3403
SET TYPE FIELD
2034
2674
2034
2674
SET VALUE FIELD
2035
2675
2035
2675
GET VALUE FIELD
20372037BINARY SEARCH ROUTINE
20382038GET VALUES WITH SEARCH
2079
2733
2079
2733
LAST OPERATOR
20932093BEGINNING OF MODULE
20942094PAST THIS MODULE
20952095SCAN OPERAND FIELD
20962096MULTIPLY FUNCTION
20972097DIVIDE FUNCTION
20992099TRUE IF NEXT OPERATOR IS UNARY
21012101OPERATOR STACK
21032103OPERATOR PRIORITY
21052105VALUE STACK
21072107OPERATOR STACK POINTER
21092109VALUE STACK POINTER
21132113PLACE CURRENT H,L VALUE AT TOP OF VSTACK
21142114HOLD VALUE IN D,E
21192119OVERFLOW IN EXPRESSION
21202120VSP=0
21222122GET VSP
21232123VSP=VSP+1
21242124VSP=VSP+2
21252125SAVE VSP
21262126DOUBLE VSP
21312131HIGH BYTE
21342134STACK OPERATOR (REG-A) AND PRIORITY (REG-B)
2135
3022
2135
3022
SAVE IT
21412141OPERATOR STACK OVERFLOW
21432143GET OSP
21452145OSP=OSP+1
2146
2573
2146
2573
RECALL OPERATOR
21482148OPERV(OSP)
21492149OPERV(OSP)=OPERATOR
21522152HIERV(OSP)=PRIORITY
21552155LOAD TOP ELEMENT FROM VSTACK TO H,L
21602160UNDERFLOW
21662166VSP=VSP-2
21702170VSTACK(VSP)
2171
2882
2171
2882
GET LOW BYTE
21772177LOAD TOP TWO ELEMENTS DE HOLDS TOP, HL HOLDS TOP-1
21832183APPLY OPERATOR IN REG-A TO TOP OF STACK
21862186OPERATOR NUMBER*2
21882188INDEXED OPTAB
21892189LOW ADDRESS
21912191HIGH ADDRESS
21932193SET PC AND GO TO SUBROUTINE
22102210SPECIFIC HANDLERS FOLLOW
22112211SET UP OPERANDS FOR SHIFT L AND R
22132213ENSURE 0-15
22182218RETURN IP 0-16 SHIFT
22242224COMPUTE 0-H,L TO H,L
22352235(EXTERNAL ENTRY FROM MAIN PROGRAM)
22362236SWAP D,E WITH H,L FOR DIVIDE FUNCTION
22372237COMPUTE X/Y WHERE X IS IN D,E AND Y IS IN H,L
22382238THE VALUE OF X/Y APPEARS IN D,E AND X MOD Y IS IN H,L
22402240SAVE X IN TEMPORARY
22412241STORE BIT COUNT
22432243INTIALIZE RESULT
22452245CLEAR FLAGS
22472247GET LOW Y BYTE
22532253DECREMENT BIT COUNT
22542254RESTORE TEMP RESULT
22552255ZERO BIT COUNT MEANS ALL DONE
22562256ADD IN CARRY
22572257CARRY
22582258SHIFT TEMP RESULT LEFT ONE BIT
22592259COPY HA AND L TO A A ND C
22612261GET ADDRESS OF X
22622262SUBTRACT FROM TEMPORARY RESULT
22672267SAVE TEMP RESULT IN STACK
22682268NO BORROW FROM SUBTRACT
22692269ADD X BACK IN
22702270REPLACE TEMP RESULT ON STACK
22722272RESTORE H,L
22742274REPEAT LOOP STEPS
22812281MULTIPLY D,E BY H,L AND REPLACE H,L WITH RESULT
22832283COPY OF 1ST VALUE TO B,C FOR SHIFT AND ADD
22842284H,L IS THE ACCUMULATOR
22872287CARRY IS CLEARED
22932293SKIP THIS ADD IF LSB IS ZERO
22952295RETURN WITH H,L
22962296SKIP ADD
22982298ADD CURRENT VALUE OF D
23002300READY FOR *2
23052305MULTIPLY D,E BY H,L
23102310DIVIDE H,L BY D,E
23122312RESULT TO H,L
23202320CHECK VALUES
2322
2331
2428
2322
2331
2428
DONE?
23242324HL=HL*2
23332333SAVE CURRENT COUNT
23532353TREAT AS HL+(-DE)
235423540-HL
23602360COMPUTE 0-HL
2365236565536-HL - 65535-(HL+1)
24022402RETURNS ZERO FLAG IF SYMBOL IS CR, :, OR .
24052405NOT END IF NOT SPECIAL
24172417SCAN THE OPERAND FIELD OF AN INSTRUCTION
24182418(NOT A DB WITH FIRST TOKEN STRING > 2 OR 0)
24202420ZERO OPERATOR STACK POINTER
24222422255
24272427ARRIVE HERE WITH NEXT ITEM ALREADY SCANNED
24302430EMPTY THE OPERATOR STACK
24332433GET THE OSP AND CHECK FOR EMPTY
24352435JUMP IF EMPTY
24362436POP ELEMENT
24372437COPY FOR DOUBLE ADD
24412441INDEXED - OPERV(OSP)
24422442GET OPERATOR
24432443APPLY OPERATOR
24472447MUST HAVE ONE ELEMENT IT THE STACK
24522452EVALUE REMAINS AT ZERO
24532453GET DOUBLE BYTE IN STACK
24572457MORE TO SCAN
24622462IS THIS A STRING?
24652465STRING - CONVERT TO DOUBLE PRECISION
24682468ERROR IF LENGTH=0
24702470ERROR IF LENGTH>2
24732473LSBYTE
24752475A HAS THE LENGTH
24762476ONE OR TWO BYTES
24772477FILL HIGH ORDER
2479
2623
2878
3199
2479
2623
2878
3199
VALUE TO H,L
24802480STORE TO STACK
24822482NOT A STRING, CHECK FOR NUMBER
24852485NUMERIC VALUE
24882488NOT STRING OR NUMBER, MUST BE ID OR SPECL
24892489BINARY SEARCH, GET ATTRIBUTES
24902490MATCH?
24912491YES, MAY BE OPERATOR
24942494OPERATOR ENCOUNTERED MS NIBBLE OF B IS PRIORITY NUMBER LS NIBBLE
24952495IS THE OPERATOR
24962496ACC HAS THE OPERATOR NUMBER, B HAS PRIORITY
24982498SAVE COPY OF OPERATOR NUMBER
25002500JUMP IF NOT A (
25012501( ENCOUNTERED, UNARY MUST BE TRUE
25052505UNARY IS SET TRUE
25062506RECOVER OPERATOR
25072507CALLS STKO AND SETS UNARY TO TRUE
25102510NOT A LEFT PAREN
25122512MUST BE + OR - SINCE UNARY IS SET
25142514UNARY NOT SET, MUST BE BINARY OPERATOR
25152515COMPARE HIERARCHY OF TOS
25162516SAVE PRIORITY AND OPERATOR NUMBER
25192519NO MORE OPERATORS IN STACK
25202520OSP TO E
2521
2550
2521
2550
OSP-1
25242524HL ADDRESSES TOP OF OPERATOR STACK
25252525PRIORITY OF TOP OPERATOR
25262526CURRENT GREATER?
25272527JUMP IF SO
25282528APPLY TOP OPERATOR TO VALUE STACK
25302530OSP-OSP-1
25332533OPERATOR NUMBER TO ACC
25352535RESTORE OPERATOR NUMBER AND PRIORITY
25362536FOR ANOTHER TEST
25382538ARRIVE HERE WHEN OPERATOR IS STACKED
25392539CHECK FOR RIGHT PAREN BALANCE
25402540OPERATOR NUMBER IN C, PRIORITY IN B
25432543JUMP IF NOT A RIGHT PAREN
25452545RIGHT PAREN FOUND, STACK MUST CONTAIN LEFT PAREN TO DELETE
25492549PAREN ERROR IF SO
25512551STORED TO MEMORY
25562556TOP OPERATOR IN REG-A
25582558JMP IF NO ERROR - PARENS BALANCE
25612561ERROR REPORTING COMPLETE
25632563TO CLEAR UNARY FLAG
25652565ORDINARY OPERATOR
25672567TO SET UNARY FLAG
25702570FOP ANOTHER ELEMENT
25722572UNARY SET, MUST BE + OR -
25752575IGNORE UNARY PLUS
25782578CHANGE TO UNARY MINUS
25812581UNARY NOT SYMBOL?
25862586ELEMENT FOUND IN TABLE, NOT AN OPERATOR
25872587PSEUDO OPERATOR?
25882588ERROR IF SO
25892589GET LOW VALUE TO L
25902590ZERO HIGH ORDER BYTE
25932593NOT POUND IN TABLE SCAN, $?
25992599USE CURRENT PC
2604
3404
2604
3404
GET CURRENT PC
26072607NOT $, LOOK IT UP
26112611NOT FOUND IN SYMBOL TABLE, ENTER IF PASS 1
26142614ENTER SYMBOL WITH ZERO TYPE FIELD
26172617TYPE TO H,L
26252625STORE H,L TO VALUE STACK
26272627UNARY OPERATION SET
26282628OPERAND ENCOUNTERED WITH UNARY OFF
26292629SET TO OFF
26302630STACK THE VALUE
26362636PUT 'E' ERROR IN OUTPUT BUFFER
26432643NEXT HALF PAGE
26452645CP/M RESIDENT ASSEMBLER MAIN PROGRAM
26472647COPYRIGHT (C) 1976
26482648GARY A. KILDALL
26512651MODULE ENTRY POINTS
26522652IO MODULE
26582658FILE SETUP FOR EACH PASS
26592659WRITE CONSOLE BUFFER TO CR
26602660WRITE PRINT BUFFER AND REINITIALIZE
26612661WRITE ERROR CHARACTER TO PRINT BUFFER
26622662SEND HEX CHARACTER TO MACHINE CODE FILE
26632663END OF PROCESSING, CLOSE FILES AND TERMINATE
26652665INITIALIZE SCANNER MODULE
26662666SCAN NEXT TOKEN
26682668INITIALIZE SYMBOL TABLE
26692669LOOKUP SYMBOL IN ACCUMULATOR
26702670FOUND IF NZ FLAG
26732673GET TYPE FIELD
26772677BINARY SEARCH AND GET TYPE/VALUE PAIR
26792679GET OPERAND VALUE TO 'EVALUE'
26802680MULT D,E BY H,L TO H,L
26812681DIVIDE HL BY DE, RESULT TO DE
27042704CURRENT SYMBOL ADDRESS
27242724END OF FILE
27252725STARTING POSITION OF PRINT LINE
27282728REGISTER TYPE
27292729PSEUDO OPERATION
27302730PSEUDO OPERATOR 'ENDIF'
27322732FIRST OPERATOR
27352735MAIN STATEMENT PROCESSING LOOP
27372737SET TO PASS 0 INITIALLY
27392739PASS LOOP GOES FROM 0 TO 1
27412741SET UP THE INPUT FILE
27432743ASSUME NO STARTING LABEL
27462746END PC
27482748SCAN THE NEXT INPUT ITEM
27522752SKIP LEADING NUMBERS FROM LINE EDITORS
27542754MAY BE PROCESSOR TECH'S COMMENT
27562756SPECIAL CHARACTER, CHECK FOR *
27592759END OF LINE IF NOT *
27602760* FOUND, NO PRECEDING LABEL ALLOWED
27622762ERROR IF LABEL
27632763SCAN THE COMMENT OTHERWISE
27652765NOT NUMBER OR SPECIAL CHARACTER, CHECK FOR IDENTIFIER
27672767ERROR IF NOT
27692769IDENTIFIER FOUND, MAY BE LABEL, OPCODE, OR MACRO
27702770BINARY SEARCH FIXED DATA
27712771CHECK FOR PSEUDO OR REAL OPERATOR
27732773BINARY SEARCH WAS UNSUCCESSFUL, CHECK FOR MACRO
27762776NZ FLAG SET IF FOUND
27782778NOT FOUND, ENTER IT
27792779THIS MUST BE PASS
27822782PHASE ERROR IF NOT
27832783SET SYLAB
27852785ITEM WAS FOUND, CHECK FOR MACRO
27912791MACRO DEFINITION FOUND, EXPAND MACRO
27922792NOT CURRENTLY IMPLEMENTED
27932793SCANS TO END OF CURRENT LINE
27952795LABEL FOUND - IS IT THE ONLY ONE?
27992799LABEL ERROR IF NOT
28002800ADDRESS OF SYMBOL
28012801MARK AS LABEL FOUND
28032803LABEL FOUND, SCAN OPTIONAL ':'
28072807SKIP NEXT SCAN IF NOT SPECIAL
28112811TO IGNORE ':'
28132813BINARY SEARCH FOUND SYMBOL, CHECK FOR PSEUDO OR REAL OP
28152815PSEUDO OPCODE?
28182818PSEUDO OPCODE FOUND, BRANCH TO CASES
28192819B HAS PARTICULAR OPERATOR NUMBER
28202820DOUBLE PRECISION VALUE TO D,E
28212821BIASED BY +1
28222822BASE OF JUMP TABLE
28292829JUMP INTO TABLE
28312831PSEUDO OPCODE JUMP TABLE
28352835END
28362836ENDIF
28372837ENDM
28382838EQU
28412841ORG
28462846SET LABEL FOR THIS LINE TO ASPC
28482848PAST DB TO NEXT ITEM
28492849LOOK FOR LONG STRING
28512851SKIP IF NOT STRING
28532853LENGTH 1 STRING?
28552855LENGTH 0,2,... STRING
28582858BECOMES 1,3,... FOR 0,2,... LENGTHS
28592859ADDRESS CHARACTERS IN STRING
28612861COUNT DOWN TO ZERO
28622862SCAN DELIMITER AT END OF STRING
28662866SAVE ACCUM POINTER
28672867SEND TO HEX FILE
28722872TO THE DELIMITER
28752875NOT A LONG STRING
28772877COMPUTE OPERAND
28802880HIGH ORDER MUST BE ZERO
2881
3525
2881
3525
DATA ERROR
28842884END OF ITEM - UPDATE ASPC
28852885SET ASPC TO FPC
28882888FOR ANOTHER ITEM
28892889CHECK END OF LINE SYNTAX
28922892HANDLE LABEL IF IT OCCURRED
28932893PRINT ADDRESS
28942894SCAN AND GET 16BIT OPERAND
28962896CURRENT PSEUDO PC
28972897+EXPRESSION
28992899NEXT TO FILL
29032903HANDLE OPTIONAL LABEL
2905
2953
2905
2953
GET 16BIT OPERAND
2906
3429
3451
3496
2906
3429
3451
3496
SAVE A COPY
29072907LOW BYTE FIRST
29082908SEND LOW BYTE
29092909RECLAIM A COPY
29102910HIGH BYTE NEXT
29112911SEND HIGH BYTE
29122912SET ASPC=FPC
29132913CHECK DELIMITER SYNTAX
29152915GET MORE DATA
29202920WRITE LAST LOC
29242924GET EXPRESSION IF IT'S THERE
29282928EXPRESSION FOUND, STORE IT FOR LATER
29312931CLEAR ERROR, IF IT OCCURRED
29322932CLEAR CR
29502950MUST BE A LABEL
29512951HOLD TEMP ASPC
29522952IN STACK
29542954VALUE OF EXPRESSION
29562956COMPUTED VALUE
29572957SPACE AFTER VALUE
29592959REAL ASPC
29602960CHANGE BACK
29642964IN CASE OF LABEL
29652965GET IF EXPRESSION
29682968SKIP IF ERROR
29692969GET LSB
29712971TRUE IF CARRY BIT SET
29732973SKIP TO EOF OR ENDIF
29812981BALANCE ERROR
29842984FOR ANOTHER
29852985NOT A SPECIAL CHARACTER
29872987NOT AN IDENTIFIER
29882988LOOK FOR ENDIF
29892989NOT FOUND
29902990PSEUDO OP?
29922992GET OPERATOR NUMBER
29932993ENDIF?
29942994GET ANOTHER TOKEN
29952995OK, CHECK END OF LINE
30053005SKIP ORG IF ERROR
30063006CHANGE PC
30073007CHANGE NEXT TO HIT
30083008IN CASE OF LABEU
30143014MUST BE LABELLED1)
3018
3400
3535
3018
3400
3535
LABEL ERROR
30203020REPLACE TYPE WITH 'SET'
30213021GET THE EXPRESSION
30233023RE-ADDRESS LABEL
30243024RECLAIM IT
30273027PREVENT LABEL PROCESSING
3032
3540
3032
3540
NOT IMPLEMENTED
30343034PSEUDO OPERATOR END - SCAN TO NEXT TOKEN
30383038NOT A PSEUDO OPCODE, CHECK FOR REAL OPCODE
30403040BASE OF OPCODES
30413041PAST LAST OPCODE?
30423042STATEMENT ERROR IF SO
30443044FOUND OPCODE, COMPUTE INDEX INTO TABLE AND JUMP TO CASE
30543054JUMP TO CASE
30563056OPCODE CATEGORIES
30643064ACCUM IMMEDIATE
30673067ACCUM-REGISTER
30683068INC/DCR
30703070RESTART
30733073SIMPLE OPERATION CODES
30743074SEND HEX VALUE TO MACHINE CODE FILE
30753075TO NEXT TOKEN
30783078LXI H,16B
30793079SCAN DOUBLE PRECISION REGISTER
30803080CHECK FOR COMMA FOLLOWING REGISTER
30813081SCAN AND EMIT DOUBLE PRECISION OPERAND
30843084DAD B
30853085SCAN AND EMIT DOUBLE PRECISION REGISTER
30883088PUSH B POP D
30893089SCAN SINGLE PRECISION REGISTER TO A
30903090MAY BE PSW
30923092NOT PSW, MUST BE B,D, OR H
30933093LOW BIT MUST BE 0
3094
3131
3155
3094
3131
3155
REGISTER ERROR IF NOT
30963096RECALL REGISTER AND MASK IN CASE OF ERROR
30983098MASK IN OPCODE FOR PUSH OR POP
30993099FILL HEX VALUE AND INCREMENT PC
31013101JMP 16B/ CALL 16B
31023102EMIT JMP OR CALL OPCODE
3103
3236
3240
3103
3236
3240
EMIT 16BIT OPERAND
31063106MOV A,B
3108
3117
3134
3144
3158
3108
3117
3134
3144
3158
MASK IN OPCODE
31093109SAVE IN B TEMPORARILY
31103110MUST BE COMMA SEPARATOR
31113111VALUE MUST BE 0-7
31123112MASK IN OPCODE CPM VERSION
31153115MVI A,8B
3118
3135
3138
3167
3118
3135
3138
3167
EMIT OPCODE
31193119SCAN COMMA
31203120EMIT 8BIT VALUE
31233123ADI 8B
31243124EMIT IMMEDIATE OPCODE
3125
3168
3125
3168
EMIT 8BIT OPERAND
31283128LDAX B/STAX D
31303130MUST BE B OR D
31323132RECOVER REGISTER NUMBER
31333133CHANGE TO B OR D IF ERROR
31373137LHLD 16B/ SHLD 16B/ LDA 16B/ STA 16B
31393139EMIT OPERAND
31423142ADD B
31433143RIGHT ADJUSTED 3BIT VALUE FOR REGISTER
31473147INR B/DCR D
31483148GET REGISTER
31523152INX H/DCX B
31543154MUST BE B D M OR SP
3156
3231
3156
3231
RECOVER REGISTER
31573157IN CASE 0F ERROR
31613161RESTART 4
31623162VALUE IS 0-7
31633163OPCODE MASKED
31663166IN 8B/0UT 8B
31713171FILL HEX VALUE FROM A, BEFORE INCREMENTING PC
31743174CHANGE ASSEMBLER'S PSEUDO PROGRAM COUNTER
31753175SET ANY LABELS WHICH OCCUR ON THE LINE
3176
3374
3176
3374
ASPC=FPC
31773177END OP LINE SCAN
31803180UTILITY SUBROUTINES FOR OPERATION CODES
31823182CHECK DELIMITER SYNTAX FOR D^TA STATEMENTS
31953195GET 16BIT VALUE TO H,L
31973197START SCANNING OPERAND FIELD
32033203GET 8BIT VALUE TO REG A
32073207VALUE ERROR IF HIGH BYTE NOT ZERO
32113211GET 3BIT VALUE TO REG A
32143214VALUE ERROR IF >=8
32153215REDUCE IF ERROR OCCURS
32183218GET 3BIT VALUE AND SHIFT LEFT BY
32243224COPY TO C
32273227GET DOUBLE REGISTER TO A
32293229CHECK FOR A,C,E, OR L
32303230REGISTER ERROR
32323232FIX IT IF ERROR OCCURRED
32333233MASK OPCODE
32343234EMIT IT
32443244CHECK FOR COMMA FOLLOWING EXPRESSION
32503250SPECIAL CHARACTER, CHECK FOR COMMA
32533253RETURN IF COMMA FOUND
32543254COMMA ERROR
32623262END OF LINE CHECK
32633263IN CASE OF A LABEL
32663266MUST BE A SPECIAL CHARACTER
32703270CARRIAGE RETURN FOUND, SCAN PICKS UP LF AND PUSHES LINE
32743274NOT CR, CHECK FOR COMMENT
32773277IN CASE LABELLED EMPTY LINE
32783278CLEAR COMMENT TO END OF LINE
32883288END 0F ASSEMBLY IF EOF
32903290LOGICAL END OF LINE
32913291NONE OF THE ABOVE
32933293NOT CR OP LF. MAY BE LOGICAL END OF LINE
33003300STATEMENT ERROR IN OPERAND FIELD
33043304TO DUMP LINE
33063306COMPUTE DE-HL TO HL
33153315END OF ASSEMBLY FOR THIS PASS
33183318PASS NUMBER INCREMENTED
33213321TO CLEAR LAST LINE FEED
33223322WRITE LAST ADDRESS
33243324SET TO CR FOR END OF MESSAGE
33263326PRINT LAST ADDRESS
33283328COMPUTE REMAINING SPACE
33323332DIFFERENCE TO H,L
33333333SYTOP-SYBAS TO STACK
33373337SYMAX-SYBAS TO H,L
33393339DIVIDED BY 256
33403340SYTOP-SYBAS TO H,L
33413341RESULT TO DE
33433343PRINT H,L TO PBUFF
33443344MESSAGE
33453345END MESSAGE
33563356H USE FACTOR
33593359BEGINNING OF RATIO
33623362END PROGRAM COUNTER
33663366COMPARE D,E WITH H,L FOR EQUALITY (NZ FLAG IF NOT EQUAL)
33793379SYADR-SYLAB, FOLLOWED BY CHECK FOR ZERO
33853385FILL LABEL VALUE WITH CURRENT ASPC, IF LABEL FOUND
33873387RETURN IF NO LABEL DETECTED
33893389LABEL FOUND, MUST BE DEFINED ON PASS-1
33913391TO MARK NEXT STATEMENT WITH NO LABEL
33963396PASS 0
33983398SAVE A COPY OF TYPE
33993399CHECK FOR UNDEFINED
34013401RESTORE TYPE
34023402SET TO LABEL TYPE
34053405PLACE INTO VALUE FIELD
34083408CHECK FOR DEFINED VALUE
34113411PHASE ERROR
34123412GET VALUE AND COMPARE WITH ASPC
34133413TO H,L
34173417PHASE ERROR IF NOT THE SAME
34203420WRITE HEX BYTE IN REGISTER A TO MACHINE CODE FILE IF PASS
34283428PASS - 1, WRITE HEX AND PRINT DATA
34303430INTO MACHINE CODE FILE
34313431MAY BE COMPLETELY EMPTY LINE, SO CHECK ADDRESS
34353435PRINT ADDRESS FIELD
34383438TRUNCATE CODE IF TOO MUCH ON THIS LINE
34393439RECALL HEX DIGIT
34413441ROOM FOR DIGIT ON THIS LINE
34433443WRITE HEX BYTE TO PRINT LINE
34473447READY FOR NEXT BYTE
34503450EMIT DOUBLE PRECISION VALUE FROM H,L
34533453LOW BYTE EMITTED
34543454RECOVER A COPY OF H,L
34563456EMIT HIGH BYTE AND RETURN
34583458UTILITY FUNCTIONS FOR PRINTING HEX ADDRESSES AND DATA
34593459CONVERT TO HEX
34663466WRITE HEX NIBBLE
34673467CONVERT TO ASCII FROM HEX
34693469NEXT POSITION TO PRINT
34703470DOUBLE PRECISION
34713471NBP=NBP+1
34743474STORE IN PRINT BUFFER
34773477WRITE HEX BYTE TO PRINT BUFFER
34833483HIGH ORDER NIBBLE NORMALIZE IN A
34843484WRITE IT
34873487WRITE AND RETURN
34913491PRINT ADDRESS FIELD OF PRINT LINE FROM H,L
34933493INITIALIZE NEXT TO FILL
34943494SAVE A COPY OF NBP 'S' ADDRESS
34953495PRINT HIGH BYTE
35013501ADDRESSING NBP
35023502SKIP A SPACE AFTER ADDRESS FIELD
35053505EMIT REGISTER ERROR
35143514EMIT VALUE ERROR
35483548ADDRESS OF LINE LABEL
35503550END PC VALUE
35523552NEXT BYTE POSITION TO WRITE FOR MACHINE CODE

to top

Matching Instruction Sequences
File1 Line# File2 Line# Number of matching instructions
2 2 2912
58 59 10
59 58 10
91 844 11
91 1268 11
91 1640 11
91 2045 11
91 2689 11
304 318 10
318 304 10
456 531 18
531 456 18
840 1264 14
840 1636 26
840 2041 26
840 2685 14
844 91 11
860 1286 12
860 2707 12
1259 1631 17
1264 840 14
1264 2041 14
1264 2685 14
1268 91 11
1283 2704 14
1286 860 12
1286 1656 13
1286 2061 12
1444 1518 10
1518 1444 10
1631 1259 17
1636 840 26
1636 2041 26
1636 2685 14
1640 91 11
1656 1286 13
1656 2707 13
1885 1950 59
1950 1885 59
2041 840 26
2041 1264 14
2041 1636 26
2041 2685 14
2045 91 11
2061 1286 12
2061 2707 12
2188 3049 20
2685 840 14
2685 1264 14
2685 1636 14
2685 2041 14
2689 91 11
2704 1283 14
2707 860 12
2707 1656 13
2707 2061 12
3049 2188 20

to top

Matching Identifiers
0001B 0010000B 001000B 0010B 00H 01 010 010000B
0100B 0101B 011 0110B 012 013 014 015
01H 02 02AH 02H 03 03H 04 04H
05 05H 06 06H 07 07H 08 09
098H 09H 0A0H 0A8H 0AH 0B0H 0B8H 0BH
0C1H 0C3H 0C5H 0C6H 0C7H 0C9H 0CDH 0CEH
0CH 0D3H 0D6H 0DBH 0DEH 0DH 0E3H 0E6H
0E9H 0EBH 0EEH 0F0H 0F3H 0F6H 0F9H 0FBH
0FEH 0FF00H 0FFE0H 0FFH 0FH 0P7 10 1000B
100H 101000B 10111110 1011B 10CH 11 1100000B 110000B
1100B 1100H 111000B 111B 11H 12 120 128
12H 13 1340H 14 15 15A0H 15H 16
17 17H 1860H 18H 19 1AH 1B 1BA0H
1BH 1EH 1FH 20 200H 206H 20F0H 20H
21 22 22H 25 255 26 27H 2FB
30 32H 37H 3AH 3FH 3H 40 40H
50 5H 60 64 6H 70 76H 80
80H 88H 90H 9H ACCLEN ACCUM ACMAX ADD0
ADDOP ADISK ALNUM ANDOP APPLY ARREX ASPC BDOS
BGET BINV BMOD BNUM BOOT BPC BSEAR BUFF
CDISK CH0 CHAR1 CHAR2 CHAR3 CHAR4 CHAR5 CHAR6
CHARS CHASH CHCOM CHEN0 CHEN1 CHEN2 CHEND CHEX
CHKNOT CHKOT CHKPT CHKVAL CINX CLEN CLOP CLOP1
CLOP2 CLOP3 CLOP4 CLOSE CLOSF CMAX COMDH COMER
COMRET CR CSEL CURPC DBL DBUFF DEB0 DEB1
DEB2 DEBL DECV DELEF DELETE DELIM DHEX DHEX1
DHEX2 DHEX3 DHEX4 DHRET DIFF DIVE DIVF DIVOP
DLABT DLOOP DSKIP DTEMP DUFF EMPOP EMSG ENDA
ENDA0 ENDA1 ENDAS ENDEXP ENDMOD ENDOP ENT1 ENT2
ENTER EOF EOLT EOPR EOR EOR0 EOR1 EOR2
EORC EORHC EORPC EPC EQUT ERBD ERR ERRCL
ERRD ERREX ERRFN ERRFR ERRFW ERRL ERRMA ERRN
ERRO ERROP ERRP ERRR ERRV ESIZE EVALUE EXP16
EXP3 EXP8 EXTT FCB FI FIDE0 FIDENT FIL1
FILAB FILADR FILHB FILHEX FILHI FILINC FILING FIND0
FIND1 FIND2 FIND3 FINDL FIXD FLN FNAM0 FNAME
FNERR FNM FOUND FPC FRERR FWERR GCOMP GETLN
GETOP GETTY GETVAL GLBT GNC GNC0 GNC1 GNC2
GNCE GNCF GNCl GNCN HASHC HASHT HBP HBUFF
HCB HDISK HEX HEXC HEXV HIERV HMASK HSIZE
IDEN IDENTIFIER INCPC INIO INISY INIT INITS IOMOD
KR LAB LASTC LCOMP LENOK LETTER LF LFOUN
LODOK LODV1 LODV2 LOOK0 LOOK1 LOOKUP LPAR LPERR
LR MACT MAKE MAKEF MINUS MODOP MOV0 MR
MUL0 MUL1 MUL2 MULF MULOP NBMAX NBP NCON
NEG0 NEGF NEGOP NEXT NEXTC NGET NHB NLERR
NMATCH NOCT NOHEX NOPR NOTF NOTOP NPB NPR
NPS NSB NUM2 NUM3 NUM4 NUMB NUMERIC O1
O15 OBASE OCTV OP0 OP1 OP2 OP3 OP4
OP5 OP6 OP7 OPAND OPEN OPENF OPER OPER1
OPER2 OPER3 OPER4 OPER5 OPER6 OPERV OPMOD OPTAB
OROP OS OSMAX OSP OVERER PADD PADDR PASS
PBMAX PBP PBUFF PCB PCHAR PCON PDISK PENDA
PENDIF PEP PERR PLABT PLUS PNB PNBF PNC
PNCF PNGO PNRET POEND PPC PREFIX PSIZE PSP
PT PTTAB QBMAX QBP QBUFF READC READF REDYC
REFT RESTART RPAR RT SACCI SACCR SAV1 SAVER
SBP SBUFF SCAN SCASE SCB SCBCR SCBR SCH
SCMOD SCN0 SCN1 SCNEXT SCNP SCNP0 SCT2 SCT3
SCTOK SDAD SDB SDB0 SDB1 SDB2 SDB3 SDBC
SDS SDW SDW0 SEDH SEL SELA SELECT SELH
SELP SEND SEND0 SENDIF SENDM SEQU SET0 SETADR
SETAS SETBYTE SETDM SETLA SETLN SETSY SETT SETTY
SETUP SETVAL SFTLA SHDREG SHERR SHFT SHL0 SHLOP
SHR0 SHREG SHROP SIF SIF0 SIF1 SIN SINC
SINX SJMP SLDAX SLHLD SLXI SMACRO SMOV SMVI
SOCH SORG SP1 SP1P SPECL SPU0 SPUSH SR
SRST SSET SSIMP SSIZE SSTY1 SSTY2 SSTYP STERR
STITLE STK01 STKO STKV STKV0 STNUM STOKEN STRNG
STYPE SUBOP SUFFIX SUFTAS SVBAS SYADR SYBAS SYLAB
SYMAX SYMOD SYTOP TAB TDOLL TITL TOKEN TRANS
TTWO TV1 TV2 TV3 TV4 TV5 TVINX UNARY
UR VALADR VALUE VSMAX VSP VSTACK WBUF0 WBUFF
WHEX WHEX0 WHEX1 WHEXB WHEXN WOB0 WOB2 WOBE
WOBUFF WOCHAR WRC WRITC WRITF X1 X10 X11
X12 X13 X14 X15 X16 X2 X3 X4
X5 X6 X7 X8 X9 XBASE XBASF XOROP
ZERO

to top

Partially Matching Identifiers
*** NONE ***
to the top
SCORE 100

CodeSuite copyright 2003-2016 by Software Analysis and Forensic Engineering Corporation